[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: