Click to See Complete Forum and Search --> : USB problems (PDA related)


Nobody's Hero
07-31-2003, 10:24 PM
I'm trying to get my Palm Tungsten to sync using kPilot. In order to do this, I need to determine which device address is being assigned to the PDA. To fo this, I'm running "tail -f /var/log/messages" then hitting the hotsync button. This is what I get.

Jul 31 22:15:56 localhost kernel: hub.c: new USB device 10:19.0-1, assigned address 2
Jul 31 22:15:56 localhost kernel: usb.c: USB device 2 (vend/prod 0x830/0x60) is not claimed by any active driver.
Jul 31 22:15:59 localhost /etc/hotplug/usb.agent: ... no modules for USB product 830/60/100

Shouldn't I be getting something like "assigned address ttyUSB1?" Do I need to run modprobe or something?

I'm running Yellow Dog Linux 3.0 (Red Hat clone for PPC processors).

Here is the output of "dmesg |grep usb"

usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-ohci.c: USB OHCI at membase 0xdb0d8000, IRQ 27
usb-ohci.c: usb-10:18.0, Apple Computer Inc. KeyLargo/Pangea USB
usb.c: new USB bus registered, assigned bus number 1
usb-ohci.c: USB OHCI at membase 0xdb0da000, IRQ 28
usb-ohci.c: usb-10:19.0, Apple Computer Inc. KeyLargo/Pangea USB (#2)
usb.c: new USB bus registered, assigned bus number 2
usb.c: registered new driver hid
usb.c: USB device 2 (vend/prod 0x830/0x60) is not claimed by any active driver.
usb.c: USB disconnect on device 10:19.0-1 address 2

Any help would be greatly appreciated. Thank you.

mdwatts
08-01-2003, 06:22 AM
What usb related modules do you have loaded?

lsmod (list loaded modules)

Does /dev/ttyUSB1 have a symlink to /dev/pilot? That might be required.

Nobody's Hero
08-01-2003, 05:47 PM
/sbin/lsmod:

Module Size Used by Not tainted
nls_iso8859-1 3616 0 (autoclean)
ncpfs 42448 0 (autoclean)
visor 11116 0 (unused)
usbserial 23088 0 [visor]
radeon 125512 11
agpgart 23116 3
ipx 25084 0 (autoclean)
i2c-keywest 8144 0 (autoclean) (unused)
dmasound_pmac 75856 0 (autoclean)
dmasound_core 15488 0 (autoclean) [dmasound_pmac]
i2c-core 19968 0 (autoclean) [i2c-keywest dmasound_pmac]
soundcore 6920 3 (autoclean) [dmasound_core]
autofs 13376 0 (autoclean) (unused)
airport 4260 1
orinoco 36816 0 [airport]
hermes 10944 0 [airport orinoco]
sungem 28432 0
sungem_phy 7600 0 [sungem]
ipt_REJECT 3888 6 (autoclean)
iptable_filter 2544 1 (autoclean)
ip_tables 16496 2 [ipt_REJECT iptable_filter]

Nobody's Hero
08-01-2003, 06:07 PM
Also, here is the output of uname -a:

Linux localhost 2.4.20-8d #1 Sat Mar 15 19:38:12 EST 2003 ppc ppc ppc GNU/Linux

I'm not sure if my kernel supports the Tungsten T. I've seen references to some type of patch on the Internet, but I can't seem to find it. Also, the kpilot website makes no mention of any patches, but does list the Tungsten T as compatable.

Nobody's Hero
08-01-2003, 06:20 PM
Sorry for the numerous posts, but I just found this...

--- visor.c.orig Wed Feb 19 22:55:38 2003
+++ visor.c Wed Feb 19 22:57:00 2003
@@ -174,6 +174,7 @@
{ USB_DEVICE(PALM_VENDOR_ID, PALM_I705_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_M125_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_M130_ID) },
+ { USB_DEVICE(PALM_VENDOR_ID, PALM_TUNGSTEN_T_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_ZIRE_ID) },
{ USB_DEVICE(HANDSPRING_VENDOR_ID, HANDSPRING_VISOR_ID) },
{ USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_0_ID) },
@@ -195,6 +196,7 @@
{ USB_DEVICE(PALM_VENDOR_ID, PALM_I705_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_M125_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_M130_ID) },
+ { USB_DEVICE(PALM_VENDOR_ID, PALM_TUNGSTEN_T_ID) },
{ USB_DEVICE(PALM_VENDOR_ID, PALM_ZIRE_ID) },
{ USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_3_5_ID) },
{ USB_DEVICE(SONY_VENDOR_ID, SONY_CLIE_4_0_ID) },

--- visor.h.orig Wed Feb 19 22:57:20 2003
+++ visor.h Wed Feb 19 22:58:04 2003
@@ -27,6 +27,7 @@
#define PALM_I705_ID 0x0020
#define PALM_M125_ID 0x0040
#define PALM_M130_ID 0x0050
+#define PALM_TUNGSTEN_T_ID 0x0060
#define PALM_ZIRE_ID 0x0070

I went into my kernel souce direcotry, found visor.c and visor.h, and added the appropriate lines. I'm no linux guru, but I think this will solve my problem. Instead of getting the "usb.c: USB device 2 (vend/prod 0x830/0x60) is not claimed by any active driver", I assume those lines will let my kernel know that prod 0x060 is a Tungsten T and should be claimed by visor.c.

Now my question is, since I patched my visor module source files, how do I actually recompile that module so that when I run insmod visor I am uising the new one?

mdwatts
08-01-2003, 06:31 PM
Unless another member knows exactly what needs to be done, you can try

gcc -o visor.o -Wall -W -O2 -DMODULE -D__KERNEL__ -I/lib/modules/`uname -r`/build/include visor.c

Nobody's Hero
08-01-2003, 06:57 PM
Thanks for the suggestion. It didn't work though. Below I've included the last 10 lines of output from that command. I checked the datestamp on visor.o and it is still the old one.

: undefined reference to `__restore_flags'
/tmp/cc5529TI.o(.text+0x18d4): In function `cleanup_module':
: relocation truncated to fit: R_PPC_REL24 __restore_flags
/tmp/cc5529TI.o(.text+0x18f4): In function `cleanup_module':
: undefined reference to `kfree'
/tmp/cc5529TI.o(.text+0x18f4): In function `cleanup_module':
: relocation truncated to fit: R_PPC_REL24 kfree
/tmp/cc5529TI.o(.data+0x248): undefined reference to `__this_module'
/tmp/cc5529TI.o(.data+0x29c): undefined reference to `__this_module'
collect2: ld returned 1 exit status

mdwatts
08-02-2003, 07:04 AM
Sorry as I was kinda hoping some of our members that have programming experience (I don't) would be able to offer assistance.

Have a search in the Programming/Script forum to see if anyone has posted the correct command to compile modules, search www.google.com/linux and have a look through your kernel source directory (/usr/src/linux/Documentation and the directory that contains the visor source) as they may have the correct command to use for separately compiling a module.

Nobody's Hero
08-02-2003, 01:34 PM
I'm making some progress...

From my kernel source directory, I ran "make modules SUBDIRS=drivers/usb/serial" then "make modules_install SUBDIRS=drivers/usb/serial" which gave me a nice new visor.o file. I copied this to my modules directory and ran "depmod -a".

No go.

"depmod: *** Unresolved symbols in /lib/modules/2.4.20-8d/kernel/drivers/usb/serial/visor.o"

I just backed up my modules directory. I'm just going to recompile and install everything with a "make modules"
and "make modules_install" and hope for the best. I'll post here what happens.

Nobody's Hero
08-03-2003, 02:16 PM
The problem is definately that I need an updated visor.o. For whatever reasons, I can't seem to get it working with my current kernel. So I decided to upgrade from 2.4.20-8d to 2.4.21. I didn't even have to apply the patch, as I noticed the visor module already has the product id for the Tungsten in it in the new kernel.

I downloaed the kernel, compiled and installed it, but I'm having lots of problems getting things to work (although the Tungsten IS recognised!).

I'm going to start a new thread in the installation forum to see if I can get my new kernel working.