Date: Sun, 27 Nov 2005 17:45:25 +0100 From: Paolo Pisati <p.pisati@oltrelinux.com> To: FreeBSD_Usb <freebsd-usb@freebsd.org> Subject: [panic] FreeBSD 6.x, Palm PDA and ucom/uvisor Message-ID: <20051127164524.GA621@tin.it>
next in thread | raw e-mail | index | archive | help
Hi, i'm an happy owner of a Palm PDA (Tapwave Zodiac/PalmOS 5.2) and since yesterday i'm trying to sync it with my laptop running FreeBSD 6.x, but so far no luck. First i googled around for some infos about the process of hotsyncing palms in freebsd, but found only outdated docs/emails. This looks the best one: http://gja.space4me.com/things/Palm_TungstenC_FreeBSD.html It says to load uvisor and ucom together, connect the pda via usb, press the hotsync button and the pda should appear as ucom0. First i patched usbdevs and uvisor.c to recognize my pda and recompiled everything just in case (see other email), then: $ sudo kldload uvisor [flag@longino ~] $ kldstat Id Refs Address Size Name 1 29 0xc0400000 353dd0 kernel 2 1 0xc0754000 60c4 snd_ich.ko 3 2 0xc075b000 205a8 sound.ko 4 1 0xc077c000 9080 ng_ubt.ko 5 2 0xc0786000 d568 netgraph.ko 6 1 0xc0794000 aea0 if_iwi.ko 7 2 0xc079f000 20cf0 wlan.ko 8 1 0xc07c0000 66074 acpi.ko 9 1 0xc36d8000 33000 nfsclient.ko 10 2 0xc3742000 1a000 linux.ko 11 1 0xc37a1000 2000 rtc.ko 12 1 0xc3898000 7000 umass.ko 13 1 0xc38b0000 4000 ums.ko 14 1 0xc3a3b000 5000 ugen.ko 15 1 0xc3cb1000 3000 uvisor.ko 16 1 0xc3cf6000 3000 ucom.ko (uvisor brings in ucom) and when i press the hotsync button: Nov 27 16:54:05 longino kernel: ucom0: Tapwave, Inc. Tapwave Handheld, rev 1.10/1.00, addr 3 Nov 27 16:54:15 longino kernel: Nov 27 16:54:15 longino kernel: ucom0: failed to set configuration, err=TIMEOUT Nov 27 16:54:15 longino kernel: device_attach: ucom0 attach returned 6 Nov 27 16:54:20 longino kernel: uhub3: port 2, set config at addr 3 failed Nov 27 16:54:20 longino kernel: uhub3: device problem (TIMEOUT), disabling port 2 and no ucom appears in /dev. And all the subsequents pression of hotsync button i get: Nov 27 16:56:21 longino kernel: ucom1: Tapwave, Inc. Tapwave Handheld, rev 1.10/1.00, addr 3 Nov 27 16:56:31 longino kernel: Nov 27 16:56:31 longino kernel: ucom1: failed to set configuration, err=TIMEOUT Nov 27 16:56:31 longino kernel: device_attach: ucom1 attach returned 6 Nov 27 16:56:36 longino kernel: uhub3: port 2, set config at addr 3 failed Nov 27 16:56:36 longino kernel: uhub3: device problem (TIMEOUT), disabling port and so on. I tried unloading stuff, detaching all the usb gears from my laptop but no luck. Another 'funny' side effect i found while playing with usb was: 1) compile a kernel with minimal usb support: # USB support device uhci # UHCI PCI->USB interface device ehci # EHCI PCI->USB interface (USB 2.0) device usb # USB Bus (required) 2) kldload ucom 3) press the hotsync button [nothing happens] 4) kldload uvisor 5) kernel panic $ sudo kgdb ./kernel.debug /var/crash/vmcore.0 [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"] GNU gdb 6.1.1 [FreeBSD] Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-marcel-freebsd". Unread portion of the kernel message buffer: Fatal trap 12: page fault while in kernel mode fault virtual address = 0x0 fault code = supervisor read, page not present instruction pointer = 0x20:0xc0490418 stack pointer = 0x28:0xd66608a0 frame pointer = 0x28:0xd66609c8 code segment = base 0x0, limit 0xfffff, type 0x1b = DPL 0, pres 1, def32 1, gran 1 processor eflags = interrupt enabled, resume, IOPL = 0 current process = 545 (kldload) trap number = 12 panic: page fault Uptime: 21s Dumping 503 MB (2 chunks) chunk 0: 1MB (159 pages) ... ok chunk 1: 503MB (128723 pages) 487 471 455 439 423 407 391 375 359 343 327 311 295 279 263 247 231 215 199 183 167 151 135 119 103 87 71 55 39 23 7 #0 doadump () at pcpu.h:165 165 __asm __volatile("movl %%fs:0,%0" : "=r" (td)); (kgdb) bt full No locals. #1 0xc04edd50 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:399 first_buf_printf = 1 #2 0xc04ee099 in panic (fmt=0xc067ca1c "%s") at /usr/src/sys/kern/kern_shutdown.c:555 td = (struct thread *) 0xc3861180 bootopt = 260 newpanic = 0 ap = 0xc3861180 "\030T\206ÃÀ@\206Ã" buf = "page fault", '\0' <repeats 245 times> #3 0xc0659fec in trap_fatal (frame=0xd6660860, eva=0) at /usr/src/sys/i386/i386/trap.c:831 code = 40 type = 12 ss = 40 esp = 0 softseg = {ssd_base = 0, ssd_limit = 1048575, ssd_type = 27, ssd_dpl = 0, ssd_p = 1, ssd_xx = 0, ssd_xx1 = 0, ssd_def32 = 1, ssd_gran = 1} #4 0xc0659cc2 in trap_pfault (frame=0xd6660860, usermode=0, eva=0) at /usr/src/sys/i386/i386/trap.c:742 va = 0 vm = (struct vmspace *) 0x0 map = 0x1 rv = 1 ftype = 1 '\001' td = (struct thread *) 0xc3861180 p = (struct proc *) 0xc3865418 #5 0xc065987f in trap (frame= {tf_fs = -1068105720, tf_es = 40, tf_ds = 40, tf_edi = -697955700, tf_esi = 61, tf_ebp = -697955896, tf_isp = -697956212, tf_ebx = -1019352192, tf_edx = -1019352136, tf_ecx = 0, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1068956648, tf_cs = 32, tf_eflags = 590470, tf_esp = -1014623872, tf_ss = -1014606824}) at /usr/src/sys/i386/i386/trap.c:432 td = (struct thread *) 0xc3861180 p = (struct proc *) 0xc3865418 sticks = 3597011082 i = 0 ucode = 0 type = 12 code = 0 eva = 0 #6 0xc06469aa in calltrap () at /usr/src/sys/i386/i386/exception.s:139 No locals. #7 0xc0490418 in usbd_get_string (dev=0xc33deb80, si=61, buf=0xd6660a8c "H×\004Á") at /usr/src/sys/dev/usb/usbdi.c:1195 swap = 16843009 us = {bLength = 1 '\001', bDescriptorType = 1 '\001', bString = { "\001\001" <repeats 19 times>, "\001", "\001\001" <repeats 97 times>, "àc", "\037Ã", "\001", "\000", "D\v", "fÖ", "È\t", "fÖ", "¿\"", "QÀ"}} s = 0xc33deb80 "map" i = 61 n = -697955700 c = 0 err = USBD_NORMAL_COMPLETION size = 16843009 #8 0xc048d56e in usbd_devinfo_vp (dev=0xc33deb80, v=0xd6660a8c "H×\004Á", p=0xd6660a0c "l\nfÖ8\aJÍ\005", usedev=1) at /usr/src/sys/dev/usb/usb_subr.c:230 udd = (usb_device_descriptor_t *) 0xc33debb8 vendor = 0x0 product = 0x0 #9 0xc048d6e2 in usbd_devinfo (dev=0xc33deb80, showclass=0, cp=0xc33ce000 "/usr/local/modules/rtc.ko") at /usr/src/sys/dev/usb/usb_subr.c:293 udd = (usb_device_descriptor_t *) 0xc33debb8 iface = 0xa vendor = "H×\004Á\000×\004ÁÀ\nfÖ¤j`À`é\004Á\000\000\000\000\020\000\000\000À\nfÖR\006NÀÜ\nfÖ\020\000\000\000\000\000\000\000p¸?ÃHÚ\004Á\000Ú\004Áô\nfÖ¤j`Àè\nfÖ\006\000\000\000\000\004\000\000ô\nfÖR\006NÀP:>Ã\000\004\000\000\006\000\000\000\000à<Ã\030\vfÖa\aNÀ kjÀ\000\004\000\000\006\000\000\000 í\004Á" product = "l\nfÖ8\aJÍ\005\000\000\000\000\000\000\000\000@\000 ", '\0' <repeats 28 times>, "\001", '\0' <repeats 23 times>, "H×\004Á\000×\004Á\210\nfÖ¤j`À\205ÐgÀ\000\000\000\000\020\000\000\000\210\nfÖR\006NÀ¤\nfÖ\020\000\000\000\000\000\000\0000;>ì\nfÖ" bcdDevice = -697955828 bcdUSB = -697955700 id = (usb_interface_descriptor_t *) 0x0 #10 0xc38a3bb0 in ?? () No symbol table info available. #11 0xc33deb80 in ?? () No symbol table info available. #12 0x00000000 in ?? () No symbol table info available. #13 0xc33ce000 in ?? () No symbol table info available. #14 0xc33deacc in ?? () No symbol table info available. #15 0xc33e3a50 in ?? () No symbol table info available. #16 0xd6660b4c in ?? () No symbol table info available. #17 0xc050cb7e in kobj_lookup_method_mi (cls=0xc33dea80, desc=0xc33ce000) at /usr/src/sys/kern/subr_kobj.c:202 ce = (kobj_method_t *) 0x0 basep = (kobj_class_t *) 0xc33dea80 #18 0xc0507c9a in device_attach (dev=0xc33dea80) at device_if.h:177 error = 0 #19 0xc0507c11 in device_probe_and_attach (dev=0xc33dea80) at /usr/src/sys/kern/subr_bus.c:2336 error = -1016358912 #20 0xc0508ae4 in bus_generic_driver_added (dev=0xc332f080, driver=0xc38a5380) at /usr/src/sys/kern/subr_bus.c:3069 child = 0xc33dea80 #21 0xc0506570 in devclass_add_driver (dc=0xc327d240, driver=0xc38a5380) at bus_if.h:183 dl = 0xc332f080 i = 3 #22 0xc0509d85 in driver_module_handler (mod=0xc386a640, what=-1014344832, arg=0xc38a5398) at /usr/src/sys/kern/subr_bus.c:3697 error = -1020800448 dmd = (struct driver_module_data *) 0xc38a5398 bus_devclass = 0xc327d240 driver = 0xc38a5380 #23 0xc04e2181 in module_register_init (arg=0xc38a53ac) at /usr/src/sys/kern/kern_module.c:121 data = (const moduledata_t *) 0xc38a53ac error = -1016306816 mod = 0xc386a640 #24 0xc04db530 in linker_file_sysinit (lf=0x0) at /usr/src/sys/kern/kern_linker.c:194 start = (struct sysinit **) 0xc38a4338 stop = (struct sysinit **) 0xc38a433c sipp = (struct sysinit **) 0xc38a4338 xipp = (struct sysinit **) 0x0 save = (struct sysinit *) 0xc33debb8 #25 0xc04db8c8 in linker_load_file ( filename=0xc36c6380 "/boot/kernel/uvisor.ko", result=0xd6660c94) at /usr/src/sys/kern/kern_linker.c:367 lc = 0xc06b0860 lf = 0xc3894100 foundfile = 1 error = 0 #26 0xc04de4f9 in linker_load_module ( kldname=0xc36c6380 "/boot/kernel/uvisor.ko", modname=0xc33cf400 "uvisor", parent=0x0, verinfo=0x0, lfpp=0xd6660cc0) at /usr/src/sys/kern/kern_linker.c:1712 lfdep = 0xc104ed20 filename = 0x0 pathname = 0xc36c6380 "/boot/kernel/uvisor.ko" error = 17 #27 0xc04dc56a in kldload (td=0xc3861180, uap=0x0) at /usr/src/sys/kern/kern_linker.c:785 kldname = 0x0 modname = 0xc33debb8 "\021" pathname = 0xc33cf400 "uvisor" lf = 0xd6660d38 error = 0 #28 0xc065a3e0 in syscall (frame= {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 0, tf_esi = -1077940908, tf_ebp = -1077940952, tf_isp = -697954972, tf_ebx = 0, tf_edx = -1, tf_ecx = -1077940704, tf_eax = 304, tf_trapno = 12, tf_err = 2, tf_eip = 671906511, tf_cs = 51, tf_eflags = 531, tf_esp = -1077941012, tf_ss = 59}) at /usr/src/sys/i386/i386/trap.c:976 params = 0xbfbfecf0 <Address 0xbfbfecf0 out of bounds> callp = (struct sysent *) 0xc06aaac0 td = (struct thread *) 0xc3861180 p = (struct proc *) 0xc3865418 lf = 0xd6660d38 error = 0 #28 0xc065a3e0 in syscall (frame= {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 0, tf_esi = -1077940908, tf_ebp = -1077940952, tf_isp = -697954972, tf_ebx = 0, tf_edx = -1, tf_ecx = -1077940704, tf_eax = 304, tf_trapno = 12, tf_err = 2, tf_eip = 671906511, tf_cs = 51, tf_eflags = 531, tf_esp = -1077941012, tf_ss = 59}) at /usr/src/sys/i386/i386/trap.c:976 params = 0xbfbfecf0 <Address 0xbfbfecf0 out of bounds> callp = (struct sysent *) 0xc06aaac0 td = (struct thread *) 0xc3861180 p = (struct proc *) 0xc3865418 orig_tf_eflags = 531 sticks = 0 error = 0 narg = 1 args = {-1077940704, 12, 0, 0, -1014606824, 0, 0, 0} code = 304 #29 0xc06469ff in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:200 No locals. #30 0x00000033 in ?? () No symbol table info available. (kgdb) Hope this helps... bye -- Paolo ps any Palm user out there that hotsync with freebsd? did i do everything right?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051127164524.GA621>