Ds1307 Drivers For Mac

  

  1. Hp Drivers For Mac
  2. Canon Printer Drivers For Mac
  3. Brother Printer Drivers For Mac
  4. Ds1307 Drivers For Macbook Pro
  5. Konica Minolta Drivers For Mac

Get ready for macOS Catalina

  • Cuda drivers for mac archive. Ai and deep learning. Cuda accelerated computing. Design & pro visualization autonomous machines.
  • Arduino Tutorial Lesson 0 - Driver installation for Mac OS X. Driver (Win) Driver (Mac) Driver (Unix) Lesson 1.

Experience dedicated apps for music, TV, and podcasts, plus smart new features like Sidecar.

Back up your Mac

And your memories. A few simple steps can save you from losing your favorite photos and files.

The Version 1.3 of the driver available on the vendor's website causes a crash on Mac OS-X Sierra. Thankfully, Adrian Mihalko patched the driver, and made it available to the public. The updated and patched Sierra Mac Driver can be downloaded here — CH34x_Install_V1.3.zip (174 Kb).

Learn how to back up your Mac

Mac service and repair

Learn about AppleCare+ and the Apple limited warranty coverage, start a service request for your Mac, and find out how to prepare your Mac for service.

Learn more about repairs

AppleCare+ for Mac

Buy AppleCare+ within the first 60 days of purchasing your new Mac. You get up to 3 years of accidental damage coverage and 24/7 expert technical support from Apple, the people who know your Mac best.

Have a question? Ask everyone.

The members of our Apple Support Community can help answer your question. Or, if someone’s already asked, you can search for the best answer

Ask now

Tell us how we can help

Answer a few questions and we'll help you find a solution.

Get support

Exchange and Repair Extension Programs

Active1 year, 5 months ago

I have:

  • Raspberry Pi with 2015-05-05-raspbian-wheezy
  • ds1307 attached (it's an Adafruit board, pullup resistors not installed).

How do I:

  • configure drivers
  • make sure the Pi actually uses the RTC time on startup?

I've actually done the first part,as far as I can tell, but no luck with the second. Much of the information out there, including the Adafruit instructions, are obsolete due to this: https://www.raspberrypi.org/forums/viewtopic.php?t=97314

So, first step: you enable the I2c and drivers in raspi-config, add dtoverlay=i2c-rtc,ds1307 to the end of /boot/config.txt, and you've got drivers, and hwclock works for me now, apparently (can't run i2cdetect, more on that later).

You now need to remove fake-hwclock and set up so that it actually reads the rtc at startup.I've been trying to follow this advice - which is largely in agreement with other things I've seen, and is very recent - https://www.raspberrypi.org/forums/viewtopic.php?p=842661#p842661

(that is for a different RTC, but I'm only following the second part about removing fake-hwclock and so forth).

But no luck, and the 'lines to be commented out' there don't exist on my pi. My pi comes up with Jan 1 1970 00:00 and hwclock -r says the RTC is corrupted. Even if I have not powered off since setting the RTC and rebooting the pi, so it seems it must have been corrupted by the startup.

I've also not been able to run i2cdetect at all. It complains that the devices /dev/i2c(something) don't exist - and indeed they don't...

Drivers

Interim Update

Drivers

OK, I've established that:

  • the corruption is only of the time/date info. If I use i2cset to fill the nvram with a pattern, that information is not modified on reboot, but the year goes to 0x66
  • If I remove the ,ds1307 from the line dtoverlay=i2c-rtc,ds1307 in config.txt, then the system comes up without corrupting the RTC! Which supports the idea that the driver itself is corrupting the data. I've looked at the driver code, and it goes through the time and changes things it doesn't like (e.g. it changes 12 hr to 24 hour format). So, perhaps the problem is that the driver is installed at a time when the I2C port is not actually ready to work (perhaps due to clocks not being ready ?)
  • If I do this after startup: sudo sh -c 'echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device' it causes the rtc_ds1307 driver to load, and the /dev/rtc0 to appear. And the time is still OK. And so that can be used as basis of how to mod the init scripts
  • One more fun detail: if I use hwclock -s in a script right after writing to /sys/..../new_device, it fails. There needs to be a sleep 0.5 or something between.

So it seems I now have a system that can be shut down, and started up, and will have the correct time - I'll write this up properly soon.

techraf
3,73410 gold badges23 silver badges38 bronze badges
greggogreggo

3 Answers

Here is how I made it work.

Almost everything here needs to be done as super-user, so use 'sudo bash' or put sudo in front of everything (if not already shown).

The following basic steps are needed:

  • Arrange for the 'i2c' drivers to be present if not already;
  • there is an additional driver for rtc_ds1307
  • remove fake-hwclock. This is a subsystem which will normally be used when you don't have a network to supply the time; it saves the system time in a file when the system is shut down, and loads it from the same file at startup. So the time isn't right, but at least it doesn't go back to zero ( 1 Jan 1970 ) each time you restart. With the RTC installed, the time will start off reasonably correct even without the network.
  • arrange for the system to read the time from the RTC at startup.

Please note that this is for the image 2015-05-05-raspian-wheezy, on a rev 2.0 'Pi 1', and a ds1307 rtc attached to the expansion connecter. Some or much of it should apply to other situations (but probably not to older raspian). It is possible that the problem with the RTC being corrupted is specific to the ds1307 driver, so it could be simpler for other chips. And that problem may get fixed at some future release.

Hp Drivers For Mac

Also, these instructions are written for the model 2 PCB, where the I2C bus #1 is in use. If you have a rev1 PCB (which doesn't have the 8-pin 'P5' connector close to P1) you will be attaching the RTC to I2C bus #0. So, whenever you see /i2c-1/ in the below, use /i2c-0/ instead.

Brother

First, run raspi-config, and under 'advanced options', you will find a setting to enable the I2C and loading of I2C drivers. Enable them.

Now, you can in principle, add a line to the bottom of /boot/config.txt: dtoverlay=i2c-rtc,ds1307, which will load the ds1307 drive; but - as several have found - the loading of the driver will corrupt the contents of the clock, defeating its purpose. I have no idea why, but I looked at the driver source, and found that on startup, it reads the clock and then, if it finds things it doesn't like (such as a 12-hour format instead of 24), it 'corrects' those settings with writes. So, I suspect what may be happening is that the driver load too soon after the I2C has started, and perhaps the clocks aren't set up properly or something, and the communications is corrupted. In any case, that doesn't work with the configuration I have, and so we will cause the driver to be loaded later.

At this point, you can reboot, and using lsmod | grep i2c you should see the i2c_bcm2708 driver loaded (as asked for in raspi-config).

Next, run this command:

echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device

or (if not already superuser):

sudo sh -c 'echo ds1307 0x68 > /sys/class/i2c-adapter/i2c-1/new_device'

Canon Printer Drivers For Mac

(sudo echo won't work since the > is what needs to be superuser).

This should cause the rtc_ds1307 driver to load, and will create a device /dev/rtc0. You should now be able to run hwclock:

sudo hwclock -r

...This displays the time from the RTC. It may well generate an error because your clock is not initialized properly yet. In any case, we will now set it.

(1) make sure the system clock is set using date. If you are on a network, it should be set already; if not, get out your phone, or your pocket timepiece, and try something like

sudo date -s '18 nov 2015 22:20:24'

when you have the system time set properly -- being careful to get it right for the time zone -- you can do

sudo hwclock -w

which copies it to the RTC.

And then the hwclock -r should work, and show the time in the RTC, and you should see it advancing if you read it more than once.

Note: the clock value is stored relative to the UTC time zone, but it's displayed in local time.

Next step: remove fake-hwclock. First disable it, and make sure the hwclock.sh is enabled:

hwclock.sh won't do anything at startup - it detects the presence of udev and assumes udev has done the startup work - but it does do something useful, which is to cause the system time to be written to the RTC at powerup. So, when you do connect to a network, the Pi time will sync to the network, and your RTC drift will get corrected when you shut down.

One thing left - we need to arrange to read the RTC at power-up, so the system time will be set. udev has a thing in it which tries to do that, but which will fail, or be bypassed, because the RTC driver is not loaded.

The way I've set this up, is to add these four lines at the top of /etc/rc.local (right at the top, below the comments):

This will ensure that the driver is loaded, and the system time set from the hardware clock, each time the system starts. The 'sleep 0.5' is there because I found that the hwclock command won't work without it - the action triggered by writing to /sys/class/i2c-adapter/i2c-1/new_device (including making /dev/rtc0 exist) apparently takes a bit of time (probably well under 0.5 sec).

And that's it. I'm not really happy with this use of /etc/rc.local - I'd rather have it set up much earlier, since a lot of stuff happens before rc.local is executed and it would be much better to have the clock set before those things run. But it's working for me. I'll update this answer if I find a better way.

Referenceshttps://www.raspberrypi.org/forums/viewtopic.php?t=97314https://www.raspberrypi.org/forums/viewtopic.php?p=842661https://www.raspberrypi.org/forums/viewtopic.php?t=85683https://www.raspberrypi.org/blog/upcoming-board-revision/

greggogreggo

Supplementary Answer - Troubleshooting with I2C tools

While trying to make it work I found it helpful to use i2c-tools to look at the RTC, and you will find many references to this in other discussions. I had added some information to the question on what I found with it; I've moved it to this answer in case it is useful.

You will need I2C enabled (raspi-config) and the i2c-dev module loaded - you can force this with a sudo modprobe i2c-dev. i2c-dev is not needed to make the RTC work, but it is needed to use i2c-tools.

You can install i2c-tools using sudo apt-get install i2c-tools , if 'i2cdetect' is not present.

If you have a Rev. 1 PCB: Change i2cdetect -y 1 to i2cdetect -y 0, and change all the 1 0x68 to 0 0x68 in the i2cdump commands.

You can doi2cdetect -y 1

... the '68' shows that a device responded at address 0x68 to being addressed on the I2C bus. If you have loaded the rtc_ds1307 driver, it will show up as 'UU' since it's reserved by the driver.

The command i2cdump -y -f -r 0-6 1 0x68 c can be used to dump the first 7 registers of the ds1307 which contain the time (the '-f' is needed only if you have the rtc driver installed; it overrides the reservation).

Below is what happens after powerup, when the RTC is corrupted due to the loading of the driver by dtoverlay=i2c-rtc,ds307.

Brother Printer Drivers For Mac

hwclock -r initially reports that the clock setting is corrupt, and indeed the year is '66'.

The seven numbers from i2cdump are: [ sec min hrs day-of-week day month year], all in bcd, so the last time is 17-nov-2015, 01:09:46 UTC.

The 'corrupted' time is 1-jan-66, and I've seen others who have reported that same value showing up.

greggogreggo

I had a similar issue on two Raspberry Pi 2 Model B with Arch Linux, one with a TinyRTC (with the ds1307) and another with a capacitor RTC (with the ds3231).

Running NTPD as daemon corrupted both RTC's date and set it to 2066/01/01.

The setup

I added in /boot/config.txt

or

Ds1307 Drivers For Macbook Pro

I added in /etc/modules-load.d/raspberrypi.conf

I disabled systemd-timesyncd

I installed NTP

Konica Minolta Drivers For Mac

How it solved it

I found that by starting a single instance of the NTPD before starting the service updates the system time and does not set the RTC but if I start the NTPD service after that it updates the RTC date without corrupting it.

I thought there is a permission issue. The default group is audio.

I created /etc/udev/40-rtc-permissions.rules to test it

but it did not help so I deleted it.

I also had to update the system date at startup as it is not done automatically.

I added to the /etc/ntpd.service file

and enabled the NTPD service

and the date updates and does not corrupt during boot.

I did not find out what causes the NTPD daemon to corrupt the RTC if started first and would appreciate if someone improves on my solution but this works for me.

iomihaiiomihai

protected by CommunityApr 6 '18 at 8:09

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).
Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged raspbianraspbian-wheezyrtcds1307 or ask your own question.