# Trouble syncing Treo 650 (udev, 2.6.11-r6, usb)

## cfuser

I know I'm close, but I'm stuck and just can't seem to get any program to recongnize my 650.  I've included as much information as I thought helpful, but am more than willing to include more.   

Really, everything seems just keen until communication (i.e., syncing) starts.  The udev devices look right (and permission wise look fine), lsusb seems fine, lsmod...etc. 

TIA.  

These threads (at the minimum) I have looked at;

```
http://forums.gentoo.org/viewtopic-t-298229-highlight-treo+650.html?sid=80249d7cde7a7e37b7a971b0aeec9bf6

http://forums.gentoo.org/viewtopic-t-44609-highlight-accept+pilot+connection.html

```

I have the appropriate entries when I run lsusb

```

Bus 001 Device 002: ID 0830:0061 Palm, Inc.

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0        16

  idVendor           0x0830 Palm, Inc.

  idProduct          0x0061

  bcdDevice            1.00

  iManufacturer           1 PalmOne, Inc.

  iProduct                2 Palm Handheld

  iSerial                 5 PalmSN12345678

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           46

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xc0

      Self Powered

    MaxPower                2mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           4

      bInterfaceClass       255 Vendor Specific Class

      bInterfaceSubClass      0

      bInterfaceProtocol      0

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval              10

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x02  EP 2 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x86  EP 6 IN

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval               0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x07  EP 7 OUT

        bmAttributes            2

          Transfer Type            Bulk

          Synch Type               none

        wMaxPacketSize         64

        bInterval               0

  Language IDs: (length=4)

     0409 English(US)

```

lsmod gives me

```

Module                  Size  Used by

sr_mod                 14372  0

nvidiafb               48668  0

ehci_hcd               43016  0

ohci_hcd               33412  0

visor                  18060  0

usbserial              26792  1 visor

i2c_nforce2             6080  0

asb100                 22804  0

i2c_sensor              3392  1 asb100

i2c_core               18560  3 i2c_nforce2,asb100,i2c_sensor

nvsound              1530920  0

nvidia               3466204  12

forcedeth              17536  0

3c509                  11408  0

3c59x                  39080  0

```

My udev rule is (I munged two seperate thread's advice...)

```

# PalmOne Tungsten T3

BUS="usb",SYSFS{serial}="PalmSN12345678",NAME="pilot",OWNER="root",GROUP="tty",MODE="0666"

#

# This works for one user's Handspring Visor.  Put the desired user in the "usb" group.

KERNEL="ttyUSB[01]*",  NAME="tts/USB%n", GROUP="usb", MODE="0666"

```

When I hit the hotsync on the cable, I do get the device created

```

~ # ls -ltra /dev/pilot

crw-rw-rw-  1 root tty 188, 1 Aug 20 04:56 /dev/pilot

```

My groups look fine to me...

```

~ $ groups

tty disk wheel audio cdrom video games usb users burning

```

FYI, 

```

~ $ uname -a

Linux mercury 2.6.12-gentoo-r6 #10 SMP Thu Aug 18 10:45:46 CDT 2005 i686 AMD Athlon(tm) XP 2200+ AuthenticAMD GNU/Linux

```

Running jpilot, I get

```

****************************************

 Syncing on device /dev/pilot

 Press the HotSync button now

****************************************

pi_accept Illegal seek

Exiting with status SYNC_ERROR_PI_ACCEPT

Finished

```

Under kpilot, I get

```

Version: KPilot 4.5.2 (kind)

Version: pilot-link 0.11.8

Version: KDE 3.4.1

Version: Qt 3.3.4

HotSync Log

05:07:02 Starting the KPilot daemon ...

05:07:02 Daemon status is `not running'

05:07:04 Next HotSync will be: Backup. Please press the HotSync button.

05:07:04 Pilot device /dev/pilot does not exist. Probably it is a USB device and will appear during a HotSync.

05:07:26 Device link ready.

05:07:30 Next sync will be a regular HotSync. Please press the HotSync button.

05:07:36 Cannot accept Pilot (Connection timed out)

05:07:36 Next HotSync will be: HotSync. Please press the HotSync button.

```

dmesg at connection is

```

# dmesg

hub 3-0:1.0: state 5 ports 6 chg 0000 evt 0004

ehci_hcd 0000:00:02.2: GetStatus port 2 status 001803 POWER sig=j  CSC CONNECT

hub 3-0:1.0: port 2, status 0501, change 0001, 480 Mb/s

hub 3-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x501

ehci_hcd 0000:00:02.2: port 2 full speed --> companion

ehci_hcd 0000:00:02.2: GetStatus port 2 status 003001 POWER OWNER sig=se0  CONNECT

ohci_hcd 0000:00:02.0: wakeup

hub 3-0:1.0: port_wait_reset: err = -107

hub 1-0:1.0: state 5 ports 3 chg 0000 evt 0004

ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [1] = 0x00010101 CSC PPS CCS

hub 1-0:1.0: port 2, status 0101, change 0001, 12 Mb/s

hub 1-0:1.0: debounce: port 2: total 100ms stable 100ms status 0x101

ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS

usb 1-2: new full speed USB device using ohci_hcd and address 14

ohci_hcd 0000:00:02.0: GetStatus roothub.portstatus [1] = 0x00100103 PRSC PPS PES CCS

usb 1-2: ep0 maxpacket = 16

usb 1-2: default language 0x0409

usb 1-2: new device strings: Mfr=1, Product=2, SerialNumber=5

usb 1-2: Product: Palm Handheld

usb 1-2: Manufacturer: PalmOne, Inc.

usb 1-2: SerialNumber: PalmSN12345678

usb 1-2: hotplug

usb 1-2: adding 1-2:1.0 (config #1, interface 0)

usb 1-2:1.0: hotplug

usbserial_generic 1-2:1.0: usb_probe_interface

usbserial_generic 1-2:1.0: usb_probe_interface - got id

visor 1-2:1.0: usb_probe_interface

visor 1-2:1.0: usb_probe_interface - got id

visor 1-2:1.0: Handspring Visor / Palm OS converter detected

usb 1-2: Handspring Visor / Palm OS converter now attached to ttyUSB0

usb 1-2: Handspring Visor / Palm OS converter now attached to ttyUSB1

hub 1-0:1.0: state 5 ports 3 chg 0000 evt 0004

usb 1-2: pilot-xfer timed out on ep0in len=0/18

```

And, finally, running pilot-xfer gives me...

```

 $ pilot-xfer -p /dev/pilot -b  visorbackup

   Listening to port: /dev/pilot

   Please press the HotSync button now...

   Error accepting data on /dev/pilot

```

And there is where I am stuck--how to get this Treo to talk w/ my Gentoo box?

----------

## jamapii

I just did a backup like this, with jpilot:

```

killall jpilot

modprobe visor    # as root

jpilot &

# press the hotsync button

# wait for 1-2 seconds

# click "Backup"

# wait for 1-2 seconds

# press the hotsync button again

```

It worked, I think, when I got the waiting times right, or when I just was lucky.

It worked with "Sync", too.

----------

## jamapii

The way to sync has changed (as of kernel 2.6.14, udev-070)

First you need new device nodes, make udev create them like this:

https://forums.gentoo.org/viewtopic-t-346172-highlight-pibind+illegal+seek.html

quoting:

```
/etc/udev/rules.d/10-local.rules:

SYSFS{product}="Palm Handheld", KERNEL="ttyUSB*", NAME="tts/USB%n", SYMLINK="pilot%e", GROUP="pda", MODE="0660" 
```

(I use GROUP="users")

Then don't sync with /dev/pilot, sync with /dev/pilot1

In jpilot, first press the Sync button on the device, then click Sync in jpilot. This worked for me, for now.

----------

