This is a write-up of my experiences getting the Alltel Snap (eg. a Samsung SCH-U340 mobile phone) to work with Bitpim under Slackware Linux 12.0.
I am not asking a question, the problems have already been solved, I'm just writing this up to help other people who might be searching for help with Bitpim.
The cable I am using is not an "official" one from Alltel or Samsung, it's just one I bought on eBay that was listed as being compatible with the phone.
NOTE: YOU DO NOT NEED TO FOLLOW THESE STEPS. These are the steps I actually went through, and are included to help people who've gotten partway through the process and run into trouble. If you're just looking for a step-by-step guide, see my reply to this post with a summary of the steps you need to take (there's only 5).
Step 1: Plugged the phone in to the computer. The phone started charging. Good, this means the cable is working.
Step 2: Had a look around and see what's happened in response to plugging the phone in.
Quote:
$ dmesg
usb 3-2: new full speed USB device using ohci_hcd and address 9
usb 3-2: configuration #1 chosen from 1 choice
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: palm_os_4_probe - error -32 getting connection info
visor 3-2:1.0: Handspring Visor / Palm OS converter detected
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: palm_os_4_probe - error -32 getting connection info
visor 3-2:1.1: Handspring Visor / Palm OS converter detected
usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB2
usb 3-2: Handspring Visor / Palm OS converter now attached to ttyUSB3
usbcore: registered new interface driver visor
drivers/usb/serial/visor.c: USB HandSpring Visor / Palm OS driver
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
|
In addition, the list I get by typing "lsmod" shows that modules named "cdc-acm" and "visor" have been loaded.
It's mistaking my phone for a PDA. This will cause problems later (see step #8)
Step 3: I downloaded and installed BitPim. I use Slackware, and there was no Slackware package, so I decided to try the rpm.
Quote:
rpm -ivh --nodeps bitpim-1.0.5-0.i386.rpm
|
Installed fine.
Step 4: Ran BitPim. It attempted to auto-detect phone. I got the message "No phone detected/recognized. Run Settings?". I clicked "yes" to get to the settings page (the same one as under Edit->Settings).
Not a problem that the phone doesn't auto-detect. As of the time of writing this post, the SCH-U340 is not officially supported by BitPim (but you can still do stuff with it)
Step 5: Under settings, changed the phone type to "Other CDMA phone".
Step 6: Let's see if it works now... clicking "Get Data From Phone" will just show you a box with all the options greyed out, because the SCH-U340 is not supported by BitPim. Instead, you'll need to access the filesystem of the phone directly. To do this, choose "View Filesystem" under the "View" menu, then click "Filesystem" on the left where it appears.
Step 7: Attempting to browse the filesystem... it fails.
You will get an error message that looks like one of the following:
"Failed to auto-detect the port to use. I couldn't detect any candidate ports."
OR
a large window with a traceback will come up, and the relevant line is
"USBException: could not claim interface 1: Operation not permitted"
OR
"/dev/ttyUSB2: Could not open port: [Errno 13] Permission denied '/dev/ttyUSB2'"
In this case, all three of these errors result from the same problem: the wrong module was automatically loaded when I plugged the phone in. (If you are getting the third error with a different model of phone, it might be a permissions problem too, but in this case it wasn't).
Step 8: What went wrong?
Look back at Step 2 -- when I plugged the phone in, it was automatically detected as a Visor. This is incorrect.
To fix this, you need to run (as root):
Quote:
rmmod visor
rmmod cdc-acm
modprobe cdc-acm
|
This will unload the "visor" module, and unload and reload the "cdc-acm" module (the unload and reload is necessary because the visor module interfered with the cdc-acm module creating /dev/ttyACM0).
Step 9: Go back to BitPim. Under Edit->Settings->Comm Port find /dev/ttyACM0. NOTE: if /dev/ttyACM0 is listed under "inoperable ports", you need to log in as root and do "chmod 666 /dev/ttyACM0", then click "Refresh" in the "Choose a comm port" dialog box, and /dev/ttyACM0 should move to "Available ports". Choose /dev/ttyACM0.
Step 10: Attempt to browse the phone's filesystem. If you haven't already, choose "View Filesystem" under the "View" menu, then click "Filesystem" on the left where it appears. It should now work.