Re: Problem accessing RTC on QNAP TS-209
On Oct 26, 11:40 am, Martin Michlmayr <t...@cyrius.com> wrote:
> * Neil Homan <neilho...@gmail.com> [2008-10-13 16:37]:
>
> > I'm having a problems with the Real Time Clock on my QNAP TS-209 pro II.
> > /sbin/hwclock --systohc --localtime hangs the system for approx 15 mins
> > before timing out on both boot/shutdown.
>
> Sorry for the delay. I finally had the chance to try this on my
> TS-209 but I don't see this. --systohc works just fine here. There's
> no delay or anything.
>
> debian-arm, has anyone else seen this problem on a QNAP device?
>
>
>
> > root@NAS:~?>dmesg | grep rtc
> > [42949375.800000] rtc-s35390a 0-0030: rtc core: registered rtc-s35390a as
> > rtc0
> > [42949375.920000] rtc-s35390a 0-0030: setting system clock to 2008-09-22
> > 19:32:40 UTC (1222111960)
>
> > root@NAS:~/>lsmod
> > Module Size Used by
> > ipv6 287604 16
> > loop 14092 0
> > evdev 8672 0
> > ehci_hcd 32044 0
> > usbcore 127740 2 ehci_hcd
> > mv643xx_eth 20772 0
> > mii 5504 1 mv643xx_eth
> > gpio_keys 3264 0
> > ext3 122472 2
> > jbd 45268 1 ext3
> > mbcache 7936 1 ext3
> > raid1 21184 3
> > md_mod 80212 4 raid1
> > sd_mod 25200 8
> > sata_mv 24492 6
> > libata 153852 1 sata_mv
> > scsi_mod 149892 2 sd_mod,libata
>
> > Notice no rtc is listed - modprobe rtc returns FATAL: Module rtc not found.
>
> This is normal because rtc is built into the kernel.
> --
> Martin Michlmayrhttp://www.cyrius.com/
>
> --
> To UNSUBSCRIBE, email to debian-arm-REQU...@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Here is a strace of the problem.
Note that the key line is "RTC_UIE_ON"... "ENOTTY (Inappropriate ioctl
for device)"
root@NAS:~/>strace hwclock --systohc
execve("/sbin/hwclock", ["hwclock", "--systohc"], [/* 22 vars */]) = 0
brk(0) = 0x19000
uname({sys="Linux", node="NAS", ...}) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4001d000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=20160, ...}) = 0
mmap2(NULL, 20160, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4001e000
close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or
directory)
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\344O
\1\0004\0\0\0\234"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1168924, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x40023000
mmap2(NULL, 1204776, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
3, 0) = 0x40026000
mprotect(0x40140000, 28672, PROT_NONE) = 0
mmap2(0x40147000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_DENYWRITE, 3, 0x119) = 0x40147000
mmap2(0x4014a000, 8744, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS, -1, 0) = 0x4014a000
close(3) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4014d000
set_tls(0x4014d4a0, 0x4014d4a0, 0x684, 0x4014db78, 0x40025050) = 0
mprotect(0x40147000, 4096, PROT_READ) = 0
munmap(0x4001e000, 20160) = 0
gettimeofday({1225318665, 749605}, NULL) = 0
brk(0) = 0x19000
brk(0x3a000) = 0x3a000
getuid32() = 0
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3
close(3) = 0
stat64("/etc/adjtime", {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
open("/etc/adjtime", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0x4001e000
read(3, "0.000000 1217000000 0.000000\n1217"..., 4096) = 44
close(3) = 0
munmap(0x4001e000, 4096) = 0
open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3
ioctl(3, RTC_UIE_ON, 0) = -1 ENOTTY (Inappropriate
ioctl for device)
ioctl(3, RTC_RD_TIME, {tm_sec=40, tm_min=32, tm_hour=19, tm_mday=22,
tm_mon=8, tm_year=108, ...}) = 0
...
(this last line above then loops waiting for the clock to tick)
Reply to: