Hardware clock

User-to-user support. If you have a problem with Slamd64 which isn't a bug, please ask here for help from other users.

Re: Hardware clock

Postby fred on Fri Jan 02, 2009 5:03 pm

martinh wrote:the problem was also there (but masked) on 32 bit Slackware as well.


Please can you clarify:

- what the problem is

- what you mean by 'masked'
fred
 
Posts: 722
Joined: Wed Jun 22, 2005 9:14 am
Location: England

Re: Hardware clock

Postby martinh on Fri Jan 02, 2009 6:09 pm

Hello Fred,

Honoured to hear from you.

OK. Kernels used are 2.6.27 and 2.6.28.

With the changes Slackware 12.0 and Slamd64 12.0 behave consistently and use the hardware clock accessed via the rtc-cmos modules.

Without the change Slackware 12.0 uses direct instructions to the ISA clock and sets up rtc -> misc/rtc . Slamd64 does not mimic this behaviour and so is unable to read/write the hardware clock.

Hope this helps
martinh
 
Posts: 6
Joined: Wed Dec 31, 2008 10:35 am
Location: Somerset, United Kingdom

Re: Hardware clock

Postby dominian on Fri Jan 02, 2009 7:27 pm

Well, creating those rules in udev is actually a waste of time as those rules are in /lib/udev/rules.d/50-default-udev.rules for rtc,rtc0 mapping

I've been able to figure out that udev IS loading the rules properly, but for some reason the modules themselves are still not loading properly.

Still trying to work this out.. it does not appear to be util-linux-ng nor udev at this point.....
dominian
 
Posts: 282
Joined: Thu Jun 23, 2005 1:01 am

Re: Hardware clock

Postby ctrlaltca on Fri Jan 02, 2009 10:55 pm

It seems to be related to a case issue in hardware IDs discussed here:
http://thread.gmane.org/gmane.linux.hotplug.devel/13511

Code: Select all
bash-3.1# cat /sys/bus/pnp/devices/00\:04/id
PNP0b00
bash-3.1# grep rtc /etc/modprobe.d/isapnp
alias pnp:dPNP0B00 rtc-cmos
ctrlaltca
 
Posts: 13
Joined: Wed Apr 16, 2008 10:34 am
Location: Pordenone, Italy

Re: Hardware clock

Postby martinh on Fri Jan 02, 2009 11:53 pm

Editing modprobe.d/isapnp did not fix things for me but may work for others, in the same way that my fix worked for me and may work for some but not all.

The udev manpage clearly states that the configuration files are under /etc/udev/* .

This posting list now has two possible fixes for others to try so feel the fear and fix it anyway!
martinh
 
Posts: 6
Joined: Wed Dec 31, 2008 10:35 am
Location: Somerset, United Kingdom

Re: Hardware clock

Postby ctrlaltca on Sat Jan 03, 2009 1:02 am

After some udev debugging, i figured out this:
Code: Select all
bash-3.1# udevadm test /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/PNP0B00:00                                                                           
run_command: calling: test                                                     
udevadm_test: version 135                                                       
This program is for debugging only, it does not run any program,               
specified by a RUN key. It may show incorrect results, because                 
some values may be different, or not available at a simulation run.             

udev_rules_new: rule file basename '/etc/udev/rules.d/60-pcmcia.rules' already added, ignoring '//lib/udev/rules.d/60-pcmcia.rules'                             
parse_file: reading '//lib/udev/rules.d/40-alsa.rules' as rules file           
parse_file: reading '//lib/udev/rules.d/40-infiniband.rules' as rules file     
parse_file: reading '//lib/udev/rules.d/40-isdn.rules' as rules file           
parse_file: reading '//lib/udev/rules.d/40-slackware.rules' as rules file       
parse_file: reading '//lib/udev/rules.d/40-zaptel.rules' as rules file         
parse_file: reading '//lib/udev/rules.d/50-udev-default.rules' as rules file   
parse_file: reading '//lib/udev/rules.d/55-hpmud.rules' as rules file           
parse_file: reading '//lib/udev/rules.d/60-bluetooth.rules' as rules file       
parse_file: reading '//lib/udev/rules.d/60-cdrom_id.rules' as rules file       
parse_file: reading '/etc/udev/rules.d/60-pcmcia.rules' as rules file           
parse_file: reading '//lib/udev/rules.d/60-persistent-input.rules' as rules file
parse_file: reading '//lib/udev/rules.d/60-persistent-storage-tape.rules' as rules file                                                                         
parse_file: reading '//lib/udev/rules.d/60-persistent-storage.rules' as rules file                                                                             
parse_file: reading '//lib/udev/rules.d/60-persistent-v4l.rules' as rules file 
parse_file: reading '/etc/udev/rules.d/60-vboxdrv.rules' as rules file         
parse_file: reading '/dev/.udev/rules.d/61-dev-root-link.rules' as rules file   
parse_file: reading '//lib/udev/rules.d/61-persistent-storage-edd.rules' as rules file                                                                         
parse_file: reading '//lib/udev/rules.d/64-device-mapper.rules' as rules file   
parse_file: reading '//lib/udev/rules.d/65-permissions.rules' as rules file     
parse_file: reading '/etc/udev/rules.d/70-persistent-cd.rules' as rules file   
parse_file: reading '/etc/udev/rules.d/70-persistent-net.rules' as rules file   
parse_file: reading '//lib/udev/rules.d/75-cd-aliases-generator.rules' as rules file                                                                           
parse_file: reading '/etc/udev/rules.d/75-network-devices.rules' as rules file 
parse_file: reading '/etc/udev/rules.d/75-optical-devices.rules' as rules file 
parse_file: reading '//lib/udev/rules.d/75-persistent-net-generator.rules' as rules file
parse_file: reading '//lib/udev/rules.d/79-fstab_import.rules' as rules file
parse_file: reading '//lib/udev/rules.d/80-drivers.rules' as rules file
parse_file: reading '//lib/udev/rules.d/80-libnjb.rules' as rules file
parse_file: reading '//lib/udev/rules.d/80-libpisock.rules' as rules file
parse_file: reading '//lib/udev/rules.d/80-libsane.rules' as rules file
parse_file: reading '//lib/udev/rules.d/90-hal.rules' as rules file
parse_file: reading '//lib/udev/rules.d/90-libmtp.rules' as rules file
parse_file: reading '//lib/udev/rules.d/90-network.rules' as rules file
parse_file: reading '//lib/udev/rules.d/95-udev-late.rules' as rules file
parse_file: reading '//lib/udev/rules.d/99-fuse.rules' as rules file
udev_rules_new: rules use 94308 bytes tokens (7859 * 12 bytes), 13176 bytes buffer
udev_rules_new: temporary index used 27260 bytes (1363 * 20 bytes)
udev_device_new_from_syspath: device 0x61a140 has devpath '/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20/PNP0B00:00'
udev_rules_apply_to_event: RUN '/sbin/modprobe $env{MODALIAS}' //lib/udev/rules.d/80-drivers.rules:5
udev_device_new_from_syspath: device 0x62b220 has devpath '/devices/LNXSYSTM:00/device:00/PNP0A08:00/device:20'
udev_device_new_from_syspath: device 0x62b4e0 has devpath '/devices/LNXSYSTM:00/device:00/PNP0A08:00'
udev_device_new_from_syspath: device 0x62ac90 has devpath '/devices/LNXSYSTM:00/device:00'
udev_device_new_from_syspath: device 0x62af30 has devpath '/devices/LNXSYSTM:00'
udev_rules_apply_to_event: RUN 'socket:/org/freedesktop/hal/udev_event' //lib/udev/rules.d/90-hal.rules:2
udev_rules_apply_to_event: RUN 'socket:@/org/kernel/udev/monitor' //lib/udev/rules.d/95-udev-late.rules:7
udevadm_test: run: '/sbin/modprobe acpi:PNP0B00:'
udevadm_test: run: 'socket:/org/freedesktop/hal/udev_event'
udevadm_test: run: 'socket:@/org/kernel/udev/monitor'


This is udevadm simulating a request from kmod to modprobe a correct module for that device.
As you can see, it ends up in a '/sbin/modprobe acpi:PNP0B00:'.
So simply adding these lines to /etc/modprobe.d/isapnp was a working fix for me:
Code: Select all
alias acpi:PNP0B00:* rtc-cmos
alias acpi:PNP0B01:* rtc-cmos
alias acpi:PNP0B02:* rtc-cmos
ctrlaltca
 
Posts: 13
Joined: Wed Apr 16, 2008 10:34 am
Location: Pordenone, Italy

Re: Hardware clock

Postby dominian on Sat Jan 03, 2009 4:31 am

I can confirm this.. this works for me as well
dominian
 
Posts: 282
Joined: Thu Jun 23, 2005 1:01 am

Re: Hardware clock

Postby cathectic on Sat Jan 03, 2009 5:25 pm

martinh wrote:The udev manpage clearly states that the configuration files are under /etc/udev/* .


For Slamd64 12.1 and older, yes. For -current/ the-soon-to-be-12.2, no.
-Carlos
cathectic
 
Posts: 252
Joined: Fri Sep 23, 2005 12:27 am
Location: Surrey, UK

Re: Hardware clock

Postby martinh on Sat Jan 03, 2009 10:32 pm

Sorry to tell you that this fix did not work for me but at least thre are several choices of fix for people to try.
martinh
 
Posts: 6
Joined: Wed Dec 31, 2008 10:35 am
Location: Somerset, United Kingdom

Re: Hardware clock

Postby dominian on Mon Jan 05, 2009 3:10 am

Which "fix" did you try? Everyone that has tried the above changes to isapnp in /etc/modprobe.d have reported success... so far.
dominian
 
Posts: 282
Joined: Thu Jun 23, 2005 1:01 am

Re: Hardware clock

Postby martinh on Mon Jan 05, 2009 9:22 pm

The modprobe.d/isapnp fix failed for me but I'm on Slamd64 12.0. Also my hardware is newer (not yet appearing in linux on laptops).

Personally I'm not bothered as my fix works for me on the version of slamd64 which i am running.
martinh
 
Posts: 6
Joined: Wed Dec 31, 2008 10:35 am
Location: Somerset, United Kingdom

Re: Hardware clock

Postby dominian on Tue Jan 06, 2009 8:47 pm

Hrm.. the fix above will work in -current.. I don't think it applies to 12.0

12.0 didn't have this issue that I'm aware of.
dominian
 
Posts: 282
Joined: Thu Jun 23, 2005 1:01 am

Re: Hardware clock

Postby alienBOB on Wed Jan 07, 2009 1:10 am

It's a kernel >= 2.6.27 issue for x86_64 only...
Btw the patch also works if you leave the asterisks off.

Eric
alienBOB
 
Posts: 9
Joined: Wed Jan 07, 2009 12:58 am
Location: Eindhoven, Netherlands

Re: Hardware clock

Postby JKWood on Wed Jan 07, 2009 1:17 am

Fix above works fine here.
JKWood
 
Posts: 144
Joined: Fri Jan 04, 2008 7:41 pm

Re: Hardware clock

Postby Hephaistos on Tue Jan 13, 2009 8:39 am

It works now with the new udev.
Hephaistos
 
Posts: 44
Joined: Tue Oct 24, 2006 5:15 am

PreviousNext

Return to Support

Who is online

Users browsing this forum: No registered users and 1 guest

cron