Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] USB Handspring Visor & sync problem
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
SAngeli
l33t
l33t


Joined: 16 Apr 2004
Posts: 904
Location: Italy

PostPosted: Sat Dec 25, 2004 7:17 pm    Post subject: [Solved] USB Handspring Visor & sync problem Reply with quote

Hi,

I have been pulling my hairs for many hours trying to setup and get my handheld to syncronize. I need help, please. :cry:

Gentoo kernel 2.6.9-r9
Evolution (for sync)
KPilot (for handheld file sync)

Keep in mind that I perform all these while logged in as root user.

Here is what is happening:
I have been following the instructions as listed at these links:
- http://www.linuxpda.com/visor/howto/current/introduction.html
- http://howto.pilot-link.org/ppp/cb.html
- http://www.linuxquestions.org/questions/showthread.php?s=&threadid=266710

I compiled the kernel at USB section as modules.
I have coldpulg installed.
Then, when I reboot at prompt at lsmod I obtain the following:

Code:

bash-2.05b# lsmod
Module                  Size  Used by
ipv6                  184064  8
snd_pcm_oss            37672  0
snd_mixer_oss          13056  1 snd_pcm_oss
snd_seq_oss            21760  0
snd_seq_midi_event      3712  1 snd_seq_oss
snd_seq                32528  4 snd_seq_oss,snd_seq_midi_event
aic7xxx               128312  0
snd_intel8x0           21544  1
snd_ac97_codec         45648  1 snd_intel8x0
snd_pcm                54792  2 snd_pcm_oss,snd_intel8x0
snd_timer              15492  2 snd_seq,snd_pcm
snd_page_alloc          5640  2 snd_intel8x0,snd_pcm
snd_mpu401_uart         4352  1 snd_intel8x0
snd_rawmidi            14628  1 snd_mpu401_uart
snd_seq_device          4744  3 snd_seq_oss,snd_seq,snd_rawmidi
snd                    30052  13 snd_pcm_oss,snd_mixer_oss,snd_seq_oss,snd_seq,snd_intel8x0,snd_ac97_codec,snd_pcm,snd_timer,snd_mpu401_uart,snd_rawmidi,snd_seq_device
soundcore               4832  1 snd
uhci_hcd               23056  0
evdev                   6528  0


I then perform a modprobe visor and it works fine. I can see it in the /var/log/messages

Code:

Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
Dec 25 19:57:30 bkoffice kernel: usbcore: registered new driver usbserial_generic
Dec 25 19:57:30 bkoffice kernel: usbcore: registered new driver usbserial
Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Handspring Visor / Palm OS
Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 3.5
Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 5.0
Dec 25 19:57:30 bkoffice kernel: usbcore: registered new driver visor
Dec 25 19:57:30 bkoffice kernel: drivers/usb/serial/visor.c: USB HandSpring Visor / Palm OS driver v2.1


Typing lspci -v, it shows that I have an UHCI controller

Code:

0000:00:1d.0 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #1 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 4c43
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at c800 [size=32]

0000:00:1d.1 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #2 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 4c43
        Flags: bus master, medium devsel, latency 0, IRQ 5
        I/O ports at cc00 [size=32]

0000:00:1d.2 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI #3 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 4c43
        Flags: bus master, medium devsel, latency 0, IRQ 10
        I/O ports at d000 [size=32]

0000:00:1d.3 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB UHCI Controller #4 (rev 02) (prog-if 00 [UHCI])
        Subsystem: Intel Corp.: Unknown device 4c43
        Flags: bus master, medium devsel, latency 0, IRQ 11
        I/O ports at d400 [size=32]

0000:00:1d.7 USB Controller: Intel Corp. 82801EB/ER (ICH5/ICH5R) USB2 EHCI Controller (rev 02) (prog-if 20 [EHCI])
        Subsystem: Intel Corp.: Unknown device 4c43
        Flags: bus master, medium devsel, latency 0, IRQ 9
        Memory at ffa80000 (32-bit, non-prefetchable)
        Capabilities: [50] Power Management version 2
        Capabilities: [58] #0a [20a0]


I have added in my /etc/fstab the following:
Code:
none  /proc/bus/usb  usbdevfs  defaults  0  0


I created the following:

Code:

- mknod /dev/ttyUSB0 c 188 0
- mknod /dev/ttyUSB1 c 188 1
- chmod 0666 /dev/ttyUSB*
- chown root:users /dev/ttyUSB*


Then, I created a symbolic link
Code:

cd /dev
ln -s /dev/ttyUSB1 visor
- chmod 0666 /dev/visor
- chown root:users /dev/visor


Then, I perform
Code:

/sbin/modprobe visor

and I do not get anything back as error.

I am now at the end. I perform a check, and it works fine
Code:

cd ~
mkdir visorbackup
pilot-xfer -p /dev/ttyUSB1 -b  visorbackup


When I reboot the system, I check for the followings and are missing:
- ls -l /dev/ttyUSB*
- ls -l /dev/visor

Code:

bash-2.05b# ls /dev/tty*
/dev/tty    /dev/tty25  /dev/tty42  /dev/tty6    /dev/ttyS19  /dev/ttyS36
/dev/tty0   /dev/tty26  /dev/tty43  /dev/tty60   /dev/ttyS2   /dev/ttyS37
/dev/tty1   /dev/tty27  /dev/tty44  /dev/tty61   /dev/ttyS20  /dev/ttyS38
/dev/tty10  /dev/tty28  /dev/tty45  /dev/tty62   /dev/ttyS21  /dev/ttyS39
/dev/tty11  /dev/tty29  /dev/tty46  /dev/tty63   /dev/ttyS22  /dev/ttyS4
/dev/tty12  /dev/tty3   /dev/tty47  /dev/tty7    /dev/ttyS23  /dev/ttyS40
/dev/tty13  /dev/tty30  /dev/tty48  /dev/tty8    /dev/ttyS24  /dev/ttyS41
/dev/tty14  /dev/tty31  /dev/tty49  /dev/tty9    /dev/ttyS25  /dev/ttyS42
/dev/tty15  /dev/tty32  /dev/tty5   /dev/ttyS0   /dev/ttyS26  /dev/ttyS43
/dev/tty16  /dev/tty33  /dev/tty50  /dev/ttyS1   /dev/ttyS27  /dev/ttyS44
/dev/tty17  /dev/tty34  /dev/tty51  /dev/ttyS10  /dev/ttyS28  /dev/ttyS45
/dev/tty18  /dev/tty35  /dev/tty52  /dev/ttyS11  /dev/ttyS29  /dev/ttyS46
/dev/tty19  /dev/tty36  /dev/tty53  /dev/ttyS12  /dev/ttyS3   /dev/ttyS47
/dev/tty2   /dev/tty37  /dev/tty54  /dev/ttyS13  /dev/ttyS30  /dev/ttyS5
/dev/tty20  /dev/tty38  /dev/tty55  /dev/ttyS14  /dev/ttyS31  /dev/ttyS6
/dev/tty21  /dev/tty39  /dev/tty56  /dev/ttyS15  /dev/ttyS32  /dev/ttyS7
/dev/tty22  /dev/tty4   /dev/tty57  /dev/ttyS16  /dev/ttyS33  /dev/ttyS8
/dev/tty23  /dev/tty40  /dev/tty58  /dev/ttyS17  /dev/ttyS34  /dev/ttyS9
/dev/tty24  /dev/tty41  /dev/tty59  /dev/ttyS18  /dev/ttyS35

bash-2.05b# ls /dev/visor
ls: /dev/visor: No such file or directory


Then, I am not able to get any sync.
When I logon as a user, I am not able to sync as it does not find the device.

What do I have to do?????

1) what are the permissions for allowing the regular users to access the handheld device?
2) what am I doing wrong?
3) why the linc /dev/visor always dissapears at reboot and why does the mknod /dev/ttyUSB0 and USB1 are not listed in the /dev although I have the filling that the yare ceated somewhere?

Please help me.

Thank you,
Spiro


Last edited by SAngeli on Sun Jan 02, 2005 9:15 pm; edited 1 time in total
Back to top
View user's profile Send private message
chemmett
n00b
n00b


Joined: 26 Dec 2004
Posts: 40
Location: Maryville, TN, USA

PostPosted: Sun Dec 26, 2004 2:40 am    Post subject: Reply with quote

If you're using udev, everything in /dev is generated on the fly, so any changes you make get lost when you reboot. It also doesn't generate /dev/ttyUSB* until you actually access it with pilot-xfer, so that's why you don't see it right after boot.

To make /dev/visor always point to your device, just put a new rule in "/etc/udev/rules.d/10-local-udev.rules" (create it if it's not there) Something like:
Code:

BUS="usb",SYSFS{product}="Handspring Visor",SYSFS{serial}="serial number",SYMLINK="visor"


You can get the "product" and "serial" values from:
Code:

cat /proc/bus/usb/devices

after you've connected it manually.

Hope that helps.
Back to top
View user's profile Send private message
SAngeli
l33t
l33t


Joined: 16 Apr 2004
Posts: 904
Location: Italy

PostPosted: Sun Dec 26, 2004 9:22 pm    Post subject: Reply with quote

Hi and thank you for your reply.

When I type cat /proc/bus/usb/devices I do get the following but not any visor or Palm Inc.

Code:

bash-2.05b# cat /proc/bus/usb/devices

T:  Bus=05 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.9-gentoo-r12 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1d.3
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.9-gentoo-r12 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1d.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc= 93/900 us (10%), #Int=  1, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.9-gentoo-r12 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1d.1
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=045e ProdID=001e Rev= 1.03
S:  Manufacturer=Microsoft
S:  Product=Microsoft IntelliMouse® Explorer
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.9-gentoo-r12 uhci_hcd
S:  Product=UHCI Host Controller
S:  SerialNumber=0000:00:1d.0
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=480 MxCh= 8
B:  Alloc=  0/800 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 2.00 Cls=09(hub  ) Sub=00 Prot=01 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.9-gentoo-r12 ehci_hcd
S:  Product=EHCI Host Controller
S:  SerialNumber=0000:00:1d.7
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=256ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=ff(vend.) Sub=ff Prot=ff MxPS=64 #Cfgs=  1
P:  Vendor=04b8 ProdID=011b Rev= 1.00
S:  Manufacturer=EPSON
S:  Product=EPSON Scanner
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  2mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms


Not being able to see the "product" and "serial" values of the device, what should I do?
Yes, I have udev implemented. I found the file name in "/etc/udev/rules.d/" called 50-udev.rules. I assume this is the file I will add the line, as found other code lines similar to the BUS=.....

I also have found this but am not sure if it applies. Can someone take a look and tell me if, as I compiled my kernel USB Visor as Modules, it applies to me?

Quote:

Talking to your Palm over USB
-----------------------------
To now "speak" to these devices you've created, using the drivers
you loaded, you must hit the HotSync button on your cradle first,
before launching any of pilot-link's various utilities, if your
version of pilot-link is earlier than 0.11.8. If your pilot-link
version is 0.11.8 or later, you don't need to hit HotSync first.

When you hit the HotSync button on the cradle or by tapping on your
HotSync icon on the Palm itself, you should see something similar to
the following in the system logs (/var/log):

kernel: Manufacturer: Palm, Inc.
kernel: Product: Palm Handheld
kernel: SerialNumber: L0JH14R12345
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Cli�4.x converter detected
kernel: visor.c: Handspring Visor / Palm 4.0 / Cli�4.x: Number of ports: 2
kernel: visor.c: Handspring Visor / Palm 4.0 / Cli�4.x: port 1, is for Generic use and is bound to ttyUSB0
kernel: visor.c: Handspring Visor / Palm 4.0 / Cli�4.x: port 2, is for HotSync use and is bound to ttyUSB1
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Cli�4.x converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
kernel: usbserial.c: Handspring Visor / Palm 4.0 / Cli�4.x converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
kernel: usb.c: serial driver claimed interface c76aa160

If you received errors or see a message similar to the following:

kernel: usb.c: USB device 28 (vend/prod 0x54c/0x95) is not claimed by any active driver

In this case, you will need to upgrade your 'visor' driver to a more
current version. You can do this with a kernel upgrade, or by simply
replacing the visor.c and visor.h files with more recent versions.

You can also add the proper values for your device to the visor.h
file manually, and rebuilding just the module itself, without a
kernel upgrade, using the following process:

1.) Edit the drivers/usb/serial/visor.h file and add the proper
vendor and product values for your device. You can find out what
these might be by looking at the log error message as described
above, or look at the pilot-link wiki for your device model at
the following URL:

http://wiki.pilot-link.org/index.php/DeviceMatrix

2.) Make sure your kernel's .config is current for the target
hardware you plan on running, and execute the following:

# make dep
# make modules SUBDIRS=drivers/usb/serial # no leading slash
# make modules_install SUBDIRS=drivers/usb/serial # ditto to above
# /sbin/depmod -ae

3.) With this module installed, you can now 'modprobe' the module to
install it.

NOTE: With kernels later than 2.4.21, you can insert this module
with some parameters for your vendor and product id, without
recompiling it, using the following syntax:

# /sbin/insmod visor vendor=0x54c product=0x144

You can also put these in your /etc/modules.conf file as well, using
a similar syntax as follows:

options visor vendor=0x54c product=0x144

Once your module is loaded, and you see the successful message when
you hit HotSync, you can now launch any of pilot-link's various
conduits such as:

$ dlpsh -p /dev/ttyUSB1

..or

export PILOTPORT=/dev/ttyUSB1
$ pilot-xfer -l

It should connect and allow you to talk to your Palm device. The
$PILOTPORT environment variable will be read if the '-p' option is
not specified. If you do not specify either, /dev/pilot will be used
if it exists. Substitute ttyUSB1 for your port, based on the
DeviceMatrix above.

USB Palm Handheld Device Kernel Matrix
--------------------------------------
Many thanks go to Greg Kroah for his tireless work supporting these
new devices as they come out. The matrix of which kernels support
which Palm handheld device can be found at the pilot-link wiki, at the following URL:

http://wiki.pilot-link.org/index.php/DeviceMatrix

If you see your Palm in this list, you must be running the
corresponding kernel version to be able to use it with pilot-link or
ColdSync using the USB interface.

If you don't see your Palm device there, feel free to add your entry
so others can benefit from the vendor and product information you've
added.


Thank you,
Spiro
Back to top
View user's profile Send private message
chemmett
n00b
n00b


Joined: 26 Dec 2004
Posts: 40
Location: Maryville, TN, USA

PostPosted: Sun Dec 26, 2004 11:01 pm    Post subject: Reply with quote

Looks like most of that stuff should be applicable to you. After loading the "visor" module, you'll have to hit the hotsync button before the device shows up in /proc/bus/usb/devices. Forgot about that before, sorry.

You won't need the part about exporting a "PILOTPORT" variable if you get the udev rule working.

Quick explanation: all the files in "/etc/udev/rules.d" get read in by udev. Whenever you upgrade it, "etc-update" will want to update "50-udev.rules" to include the latest changes from the maintainers, so your changes will be overwritten unless you merge them manually. A more "correct" way is to make another file ("10-local-udev.rules") so it won't ever be overwritten. But ether way will work. :wink:
Back to top
View user's profile Send private message
SAngeli
l33t
l33t


Joined: 16 Apr 2004
Posts: 904
Location: Italy

PostPosted: Sun Dec 26, 2004 11:50 pm    Post subject: Reply with quote

Hi and thanks for your help.

Reading what you said and reading again the instuctions I attached here, I wish to ask your openion for the following:

1) the website http://wiki.pilot-link.org/index.php/DeviceMatrix unfortunately does not work from my network. I am unable to get to it. So, looking at the drivers/usb/serial/visor.h file I noticed the section for the values and got this:

    bash-2.05b# cat visor.h

    #define HANDSPRING_VENDOR_ID 0x082d
    #define HANDSPRING_VISOR_ID 0x0100



I have an HandSpring Visor Neo.
- Does this have anything to do with one of the values I am looking for?
- If not, how am I going to find out these two values, anyhow? I did a lot of research and found nothing.

2) This setction I think can be replaced with section 3 below listed if and only if I have product and vendor values. Correct?

    Make sure your kernel's .config is current for the target
    hardware you plan on running, and execute the following:

    # make dep
    # make modules SUBDIRS=drivers/usb/serial # no leading slash
    # make modules_install SUBDIRS=drivers/usb/serial # ditto to above
    # /sbin/depmod -ae



3) This should substitute section 2:

    3.) With this module installed, you can now 'modprobe' the module to
    install it.

    NOTE: With kernels later than 2.4.21, you can insert this module
    with some parameters for your vendor and product id, without
    recompiling it, using the following syntax:


    # /sbin/insmod visor vendor=0x54c product=0x144

    You can also put these in your /etc/modules.conf file as well, using
    a similar syntax as follows:

    Code:
    options visor vendor=0x54c product=0x144



Concluding, if I am able to obtain product and vendor values, I can just add a code line to /etc/modules.conf
Then, I guess I should run
Code:
# modules-update
correct?
This should be all.

I would rather not touch the kernel, also because I do not know this stuff:
Code:

# make dep
# make modules SUBDIRS=drivers/usb/serial # no leading slash
# make modules_install SUBDIRS=drivers/usb/serial # ditto to above
# /sbin/depmod -ae


Please let me know your openion.

PS: A quick questions: Do you know if Linux (gentoo) requires or not that Plug&Play in the BIOS is enabled or disabled? :roll:

Thank you,
Spiro
Back to top
View user's profile Send private message
chemmett
n00b
n00b


Joined: 26 Dec 2004
Posts: 40
Location: Maryville, TN, USA

PostPosted: Mon Dec 27, 2004 12:17 am    Post subject: Reply with quote

You shouldn't have to mess with the kernel anymore, other than enabling the visor module which you said you had already. That website isn't working for me either, but since you said pilot-xfer was working after doing just a "modprobe visor", I wouldn't worry about setting the vendor and product values. I think those are only if it doesn't auto-detect correctly. I don't use them for my Palm m500.

To autoload on boot:
Code:

# echo "visor" >> /etc/modules.autoload.d/kernel-2.6
# modules-update

/etc/modules.conf gets overwritten when you do "modules-update", so don't add it there.

I think linux does use P&P if it's enabled in the BIOS, but I'm not positive.
Back to top
View user's profile Send private message
SAngeli
l33t
l33t


Joined: 16 Apr 2004
Posts: 904
Location: Italy

PostPosted: Fri Dec 31, 2004 11:07 am    Post subject: Reply with quote

Hi,

Here is the way to solve this issue. keep in mind that this implies that you are not using devfs but udev.

http://webpages.charter.net/decibelshelp/LinuxHelp_UDEVPrimerMisc.html

Thank you all for your assistance.
Spiro[/u]
Back to top
View user's profile Send private message
jamapii
l33t
l33t


Joined: 16 Sep 2004
Posts: 637

PostPosted: Sun Feb 13, 2005 6:51 pm    Post subject: Reply with quote

I used http://webpages.charter.net/decibelshelp/LinuxHelp_UDEVPrimerMisc.html , but with this udev rule
Code:
BUS="usb", SYSFS{product}="Palm Handheld", NAME="pilot", MODE="0666"
/etc/udev/permissions.d/10-* seemed to have no effect.

Even then, sometimes when connecting the pilot and pressing hotsync, it doesn't work (no /dev/pilot), and udevinfo returns different stuff than it does when it works.

Also, for me pilot-xfer normally stops at
Code:


   Listening to port: /dev/pilot

   Please press the HotSync button now...


Sometimes it performs as it should, and I discovered the chances of this happening seem to increase if I su to root or start the pilot-xfer command just a few seconds after pressing hotsync on the cradle/cable.

It's a Treo 600.
Back to top
View user's profile Send private message
SAngeli
l33t
l33t


Joined: 16 Apr 2004
Posts: 904
Location: Italy

PostPosted: Mon Feb 14, 2005 6:29 pm    Post subject: Reply with quote

Hi jamapii

here are some thoughts:

1) Here is my /etc/udev/permissions.d/50-udev.rules
Code:

BUS="usb", SYSFS{serial}="0000:00:1d.1", NAME="pilot"


2) Based on Palm Pilots, USB and udev, you have to succesfully pass these steps:

a. First, plug the cradle into your USB port. Press the hotsynch button on the cradle. Then run dmesg|grep USB
You should not only see your device and something similar to usb 2-1: new full speed USB device using address 2

Here is mine:

    bash-2.05b$ dmesg|grep USB
    ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 1
    ehci_hcd 0000:00:1d.7: USB 2.0 enabled, EHCI 1.00, driver 2004-May-10
    hub 1-0:1.0: USB hub found
    drivers/usb/input/hid-core.c: v2.0:USB HID core driver
    usb 1-1: new high speed USB device using address 2
    USB Universal Host Controller Interface driver v2.2
    uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2
    hub 2-0:1.0: USB hub found
    uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3
    hub 3-0:1.0: USB hub found
    uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4
    hub 4-0:1.0: USB hub found
    uhci_hcd 0000:00:1d.3: new USB bus registered, assigned bus number 5
    hub 5-0:1.0: USB hub found
    usb 3-1: new low speed USB device using address 2
    input: USB HID v1.00 Mouse [Microsoft Microsoft IntelliMouse® Explorer] on usb-0000:00:1d.1-1
    usb 3-2: new full speed USB device using address 3
    drivers/usb/serial/usb-serial.c: USB Serial support registered for Generic
    drivers/usb/serial/usb-serial.c: USB Serial Driver core v2.0
    drivers/usb/serial/usb-serial.c: USB Serial support registered for Handspring Visor / Palm OS
    drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 3.5
    drivers/usb/serial/usb-serial.c: USB Serial support registered for Sony Clie 5.0
    usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB0
    usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB1
    drivers/usb/serial/visor.c: USB HandSpring Visor / Palm OS driver v2.1
    usb 3-2: USB disconnect, address 3
    visor ttyUSB0: Handspring Visor / Palm OS converter now disconnected from ttyUSB0
    visor ttyUSB1: Handspring Visor / Palm OS converter now disconnected from ttyUSB1
    usb 3-2: new full speed USB device using address 4
    usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB0
    usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB1
    usb 3-2: USB disconnect, address 4
    visor ttyUSB0: Handspring Visor / Palm OS converter now disconnected from ttyUSB0
    visor ttyUSB1: Handspring Visor / Palm OS converter now disconnected from ttyUSB1


b. If you run cd /sys/class/tty and then ls you will see all tty but USB
Then, press the hotsynch button on the cradle and run again cd /sys/class/tty
If you do not see ttyUSB0 and ttyUSB1 you have to solve this step.

c. Then, you have to get the info of your device.
Press the hotsynch button on the cradle and then run udevinfo -p /sys/class/tty/ttyUSB1 -a

You should get something similar to what I have below.

Here is mine:

    bash-2.05b$ udevinfo -p /sys/class/tty/ttyUSB1 -a

    udevinfo starts with the device the node belongs to and then walks up the
    device chain, to print for every device found, all possibly useful attributes
    in the udev key format.
    Only attributes within one device section may be used together in one rule,
    to match the device for which the node will be created.

    looking at class device '/sys/class/tty/ttyUSB1':
    SYSFS{dev}="188:1"

    follow the class device's "device"
    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0/ttyUSB1':
    BUS="usb-serial"
    ID="ttyUSB1"
    SYSFS{detach_state}="0"

    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2/3-2:1.0':
    BUS="usb"
    ID="3-2:1.0"
    SYSFS{bAlternateSetting}=" 0"
    SYSFS{bInterfaceClass}="ff"
    SYSFS{bInterfaceNumber}="00"
    SYSFS{bInterfaceProtocol}="00"
    SYSFS{bInterfaceSubClass}="00"
    SYSFS{bNumEndpoints}="04"
    SYSFS{detach_state}="0"
    SYSFS{iInterface}="00"

    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.1/usb3/3-2':
    BUS="usb"
    ID="3-2"
    SYSFS{bConfigurationValue}="1"
    SYSFS{bDeviceClass}="00"
    SYSFS{bDeviceProtocol}="00"
    SYSFS{bDeviceSubClass}="00"
    SYSFS{bMaxPower}=" 2mA"
    SYSFS{bNumConfigurations}="1"
    SYSFS{bNumInterfaces}=" 1"
    SYSFS{bcdDevice}="0100"
    SYSFS{bmAttributes}="c0"
    SYSFS{detach_state}="0"
    SYSFS{devnum}="5"
    SYSFS{idProduct}="0100"
    SYSFS{idVendor}="082d"
    SYSFS{manufacturer}="Handspring Inc"
    SYSFS{maxchild}="0"
    SYSFS{product}="Handspring Visor"
    SYSFS{speed}="12"
    SYSFS{version}=" 1.00"

    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.1/usb3':
    BUS="usb"
    ID="usb3"
    SYSFS{bConfigurationValue}="1"
    SYSFS{bDeviceClass}="09"
    SYSFS{bDeviceProtocol}="00"
    SYSFS{bDeviceSubClass}="00"
    SYSFS{bMaxPower}=" 0mA"
    SYSFS{bNumConfigurations}="1"
    SYSFS{bNumInterfaces}=" 1"
    SYSFS{bcdDevice}="0206"
    SYSFS{bmAttributes}="c0"
    SYSFS{detach_state}="0"
    SYSFS{devnum}="1"
    SYSFS{idProduct}="0000"
    SYSFS{idVendor}="0000"
    SYSFS{manufacturer}="Linux 2.6.9-gentoo-r13 uhci_hcd"
    SYSFS{maxchild}="2"
    SYSFS{product}="UHCI Host Controller"
    SYSFS{serial}="0000:00:1d.1"
    SYSFS{speed}="12"
    SYSFS{version}=" 1.10"

    looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.1':
    BUS="pci"
    ID="0000:00:1d.1"
    SYSFS{class}="0x0c0300"
    SYSFS{detach_state}="0"
    SYSFS{device}="0x24d4"
    SYSFS{irq}="5"
    SYSFS{subsystem_device}="0x4c43"
    SYSFS{subsystem_vendor}="0x8086"
    SYSFS{vendor}="0x8086"

    looking at the device chain at '/sys/devices/pci0000:00':
    BUS=""
    ID="pci0000:00"
    SYSFS{detach_state}="0"


If you do not get this, you have to solve it.

d. It is crucial that you have serial number and name of the device, for proper UDEV setting.
See through what you have obtain and then, place it in your /etc/udev/permissions.d/50-udev.rules file.

e. Permission:
#set Palm Pilot rw
pilot*:root:usb:0666

Now check and see if it worked

Remember the name of the device for proper conduit settings.

For example, I use KPilot. Here are my settings:

Pilot device: /dev/pilot
Speed: 115200

If you have problmes with this post back.

Good luck,
Spiro
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum