Skip site navigation (1)Skip section navigation (2)
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>