adamf663
Contributor
Contributor

Palm won't sync w/ workstation 6.5

Jump to solution

For workstation 6.0, to get palm syncing to work, I had to add: usb.generic.skipsetconfig = "true"

For workstation 6.5, palm syncing is broken again. The device is present, but hotsync doesn't work.

0 Kudos
1 Solution

Accepted Solutions
Neben
VMware Employee
VMware Employee

We added port reset forwarding to the host for WS6.5, but it seems most Palm devices don't like this. We do have a way to control this as well as a new way to control skipsetconfig per device. Here is the link to beta forum thread and the text I posted there:

http://communities.vmware.com/message/1029765 <=== Only available if you were on the 6.5 Beta. Not important to read.

You'll need to find the VID and PID of the device that you want to set the quirk for. Look for a line in the vmware.log file like the following (from the above comment):

name:Palm\ Handheld vid:0830 pid:0061 path:1/2/1 speed:full family:vendor

Then, you add a usb.quirks.device(0-N, no gaps in numbering) line with the VID:PID pair, followed by the quirk. The two quirks that help Palm devices are skip-setconfig and skip-reset. Here is the quirk entry to add to your VM's vmx config file for the above example:

usb.quirks.device0 = "0x0830:0x0061 skip-setconfig, skip-reset"

Note that you need to use a 0x to denote that the number is hex, which is different from the vid:(hex number) used in log line and autoconnect lines. If you don't put a 0x, it assumes a decimal number.

This also acts differently than the usb.generic.skipsetconfig setting in that the skip-setconfig is only activated for a specifc device using a quirk versus having it turned on for all devices with the global usb.generic.skipsetconfig. Most devices can tolerate receiving multiple setconfigs and most devices don't use anything but the first config. There are some devices that may need to set a second or third config, so using a skip-setconfig quirk for only those devices that need it and not using the global usb.generic.skipsetconfig is preferred.

Message was edited by: Texiwill

View solution in original post

0 Kudos
17 Replies
Neben
VMware Employee
VMware Employee

We added port reset forwarding to the host for WS6.5, but it seems most Palm devices don't like this. We do have a way to control this as well as a new way to control skipsetconfig per device. Here is the link to beta forum thread and the text I posted there:

http://communities.vmware.com/message/1029765 <=== Only available if you were on the 6.5 Beta. Not important to read.

You'll need to find the VID and PID of the device that you want to set the quirk for. Look for a line in the vmware.log file like the following (from the above comment):

name:Palm\ Handheld vid:0830 pid:0061 path:1/2/1 speed:full family:vendor

Then, you add a usb.quirks.device(0-N, no gaps in numbering) line with the VID:PID pair, followed by the quirk. The two quirks that help Palm devices are skip-setconfig and skip-reset. Here is the quirk entry to add to your VM's vmx config file for the above example:

usb.quirks.device0 = "0x0830:0x0061 skip-setconfig, skip-reset"

Note that you need to use a 0x to denote that the number is hex, which is different from the vid:(hex number) used in log line and autoconnect lines. If you don't put a 0x, it assumes a decimal number.

This also acts differently than the usb.generic.skipsetconfig setting in that the skip-setconfig is only activated for a specifc device using a quirk versus having it turned on for all devices with the global usb.generic.skipsetconfig. Most devices can tolerate receiving multiple setconfigs and most devices don't use anything but the first config. There are some devices that may need to set a second or third config, so using a skip-setconfig quirk for only those devices that need it and not using the global usb.generic.skipsetconfig is preferred.

Message was edited by: Texiwill

0 Kudos
adamf663
Contributor
Contributor

You're awesome! That worked perfectly!

I didn't even have to edit the sample line; the vid/pid from my log were the same.

0 Kudos
Poet_Imp
Contributor
Contributor

By the way, this solution also solved the problem I was having syncing my Windows Mobile 5 device.

0 Kudos
rofri
Contributor
Contributor

Also solved my problem with a Sony Clie.

0 Kudos
DerekShaw
Enthusiast
Enthusiast

Is it necessary to read the link given? I ask because I can't acess it (http://communities.vmware.com/message/1029765)

I get::

Unauthorized

You do not have the permissions to perform this action or access this page.

For further assistance, please contact a VMware Communities moderator.

</div>

</div>

0 Kudos
Texiwill
Leadership
Leadership

Hello,

It is not important to read the link, it is only available to those who were in the 6.5 Beta. The guts of the fix/workaround are listed in neben's post.


Best regards,

Edward L. Haletky

VMware Communities User Moderator

====

Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.

Blue Gears Blogs - http://www.itworld.com/ and http://www.networkworld.com/community/haletky

As well as the Virtualization Wiki at http://www.astroarch.com/wiki/index.php/Virtualization

--
Edward L. Haletky
vExpert XIV: 2009-2022,
VMTN Community Moderator
vSphere Upgrade Saga: https://www.astroarch.com/blogs
GitHub Repo: https://github.com/Texiwill
0 Kudos
terryxela
Contributor
Contributor

Thxs much!!. It worked also for me.

ref:

opensuse 11 64b host

winXP guest

treo 700p

-=terry(Denver)=-

0 Kudos
tlongo
Contributor
Contributor

I am using VMware Workstation on Suse Linux to run an XP guest.

After upgrading to Workstation 6.5, I was unable to sync my Garmin Ique (Palm OS device). I used your tip:

usb.quirks.device0 = "0x091e:0x0004 skip-setconfig, skip-reset"

Note: I had to shut down vmware workstation, make the entry and restart vmware workstation.

Problem resolved.

Thank you!!

0 Kudos
desrod
Contributor
Contributor

I can confirm that this does NOT work for a palmOne Treo 680. I've tried every possible setting to get the VM (WinXP/SP3) to recognize it using the latest 6.5.1 Workstation. I've tried every deviceN from 0 to 10 under all possible conditions, and it does not see it. I'm not sure how to determine what deviceN the Palm device is, but attempting each and every single one from 1 to 10 did not meet with success (shutting down the vm and restarting vmware between each test).

I can, however... sync it over Bluetooth to the VM, it just takes 2+ hours to complete (a normal USB sync on a "real" Windows machine is about 2 minutes).

I should also add that I'm the maintainer of pilot-link (pilot-link.org), so I have a bit of background on supporting and writing code that addresses these devices, most-notably on Linux.

VMware and Windows both see the device as a valid device, and it appears in the Removable Devices menu. It's even properly enumerated in the vmware.log:

Nov 23 13:56:52.371: vmx| USB: Found device \[name:Palm\ Handheld vid:0830 pid:0061 path:5/1 speed:full family:vendor\]

But it doesn't seem to work at all. This did work in 6.0 and earlier, but not since I've "upgraded" to 6.5.x.

There is a huge litany of other bugs in 6.5.x that I've run into as well, but they're unrelated to this specific problem. This is probably the most buggy release of Workstation since the 4.x series, IMHO. Tools doesn't install, you can't ever cleanly shut down any VM (it alwasy leaves .lck files around and says "WARNING: you are attempting to quit while operations are still running. Do you want to forcibly quit? Your preferences will not be saved if you choose to quit."), USB devices work VERY sparingly, Bluetooth is horribly slow, etc. etc.

So what other undocumented tricks and tweaks should I try to get this device working?

0 Kudos
Oceanwaves
Contributor
Contributor

Well, I just added the line mentionend in Neben's original posting to my vmx file, started the VM and my Palm Treo 680 hotsynced without any problems.

So for me it works perfectly with the Treo 680.

Oceanwaves

0 Kudos
terryxela
Contributor
Contributor

I have tested it in opensuse 11.1 and it works also very well. I have another problems with workstation 6.5 under opensuse 11.1 but it is in another thread and not related the the palm sync

-=terry=-

0 Kudos
gkuenning
Contributor
Contributor

The fixes above (device-specific quirk) worked for me after I commented out the generic skipconfig. However, I still need to run a script (see below) to get the host to stay out of the way, and it might be the case that I need to try the hotsync twice (this was true under an earlier installation, and I haven't fully tested this one yet).

That sounds like a lot, but it's really not bad. I type "unvisor" in a root window, make sure the vmware client has focus, hit hotsync, wait for the WIndows "USB device" noise, cancel the hotsync, wait for the "device gone" noise, and hit hotsync again. Some of those steps might be unnecessary, but I've got a working procedure...

Here's the unvisor script. Note that on an earlier OS, it went into a deliberate infinite loop and had to be stopped with ^C; that's not true on SuSE 11.x:

#!/bin/bash
# Removing and reinstalling uhci/ehci resets the address, which is
# necessary for my Treo on SuSE 10.3.
# GHK 2/20/08
# It doesn't seem to be needed on SUSE 11.0.  GHK 8/14/08.
# Hmmm...maybe it is.  GHK 8/26/08.
rmmod uhci_hcd ehci_hcd
modprobe uhci_hcd
modprobe ehci_hcd

#
# On SuSE 11.0, the Treo has to be blacklisted via /etc/modprobe.conf
# (which fortunately is read on every module load).  But non-Windows
# Treo stuff requires the modules.
# GHK 4/14/08
#
rmmod visor usbserial 2&gt;/dev/null
cp -p /etc/modprobe.conf.local.blacklist /etc/modprobe.conf.local
echo -n "Hit return when hotsync is running."
read x

cp -p /etc/modprobe.conf.local.noblacklist /etc/modprobe.conf.local
rmmod visor usbserial 2&gt;/dev/null

#
# This is how it used to be done on SuSE 10.3.
#
#while :; do rmmod visor usbserial; done 2&gt;/dev/null

Here's /etc/modprobe.conf.local.blacklist:

#
# please add local extensions to this file
#
blacklist usbserial
blacklist visor

The "noblacklist" version is the same, but with everything commented out.

0 Kudos
knog
Contributor
Contributor

hi i'm a newbie at this and you lost me at:....

We added port reset forwarding to the host for WS6.5, but it seems most Palm devices don't like this. We do have a way to control this as well as a new way to control skipsetconfig per device. Here is the link to beta forum thread and the text I posted there:

http://communities.vmware.com/message/1029765 &lt;=== Only available if you were on the 6.5 Beta. Not important to read.

You'll need to find the VID and PID of the device that you want to set the quirk for. Look for a line in the vmware.log file like the following (from the above comment):

name:Palm\ Handheld vid:0830 pid:0061 path:1/2/1 speed:full family:vendor

Then, you add a usb.quirks.device(0-N, no gaps in numbering) line with the VID:PID pair, followed by the quirk. The two quirks that help Palm devices are skip-setconfig and skip-reset. Here is the quirk entry to add to your VM's vmx config file for the above example:

usb.quirks.device0 = "0x0830:0x0061 skip-setconfig, skip-reset"

Note that you need to use a 0x to denote that the number is hex, which is different from the vid:(hex number) used in log line and autoconnect lines. If you don't put a 0x, it assumes a decimal number.

This also acts differently than the usb.generic.skipsetconfig setting in that the skip-setconfig is only activated for a specifc device using a quirk versus having it turned on for all devices with the global usb.generic.skipsetconfig. Most devices can tolerate receiving multiple setconfigs and most devices don't use anything but the first config. There are some devices that may need to set a second or third config, so using a skip-setconfig quirk for only those devices that need it and not using the global usb.generic.skipsetconfig is preferred.

Message was edited by: Texiwill

So how and where? i have never realy done any type of editing. in need of some help. my trial is about to expire in 3 days if i cant get the palm to sync i give up. thanks in advance.

0 Kudos
DerekShaw
Enthusiast
Enthusiast

how new? what OS?

shut down your virtual machine.

find the file vmware.log in the directory holding your virtual machine.

view it using any of the tools provided with your OS, or another if you prefer.

search for the text vid: in that file . It should be in a line that starts with 'name:Palm' (without quote marks).

look for the VID and PID information provided in that line.

make a note of the information.

open the file 'your_vm_guest_name.vmx' for editing using a plain text editor (not a word processor).

add the line from neben's instructions (usb.quirks.device0 = "0x0830:0x0061 skip-setconfig, skip-reset"), somewhere in the file. Keep in mind that you need to put a 0x in front of the VID and PID information gleaned in the earlier step. In his example the VID is 0830 and the PID is 0061. You will quite likely have to put different numbers in your version of the edit.

save the file

restart the VM

test your palm device.

it took a couple of tries for mine to work

0 Kudos
knog
Contributor
Contributor

Sept 08, Ubuntu 8.04 host. Guest XP Pro! i realy want to not use Windows but i have an application I need to use for coffee grading and cupping.

so, I found the log file and the VID and PID do I cut and paste this line?

or is it in the .VMX ? Smiley Wink

Message was edited by: knog

just found all the files you guided me to and did what you cleared up thanks to Browncspence, Neben and your self hot sync has been achived unbelievable! i love this stuff.

0 Kudos
DerekShaw
Enthusiast
Enthusiast

deleted as redundant

0 Kudos
adamsre
Contributor
Contributor

Anyone have any other ideas on this? I am running Suse 11.1 x64 as the host with XP SP3. My VMX file contains:

usb:0.present = "TRUE"

usb:1.present = "TRUE"

ethernet0.generatedAddress = "00:0c:29:5f:ee:77"

ethernet0.generatedAddressOffset = "0"

vmci0.id = "1587981420"

usb:1.deviceType = "hub"

usb:0.deviceType = "mouse"

floppy0.autodetect = "TRUE"

ide1:0.autodetect = "TRUE"

usb.quirks.device0 = "0x04e8:0x6662 skip-setconfig, skip-reset"

hgfs.mapRootShare = "TRUE"

sharedFolder.maxNum = "2"

sharedFolder0.present = "TRUE"

sharedFolder0.enabled = "TRUE"

sharedFolder0.readAccess = "TRUE"

sharedFolder0.writeAccess = "TRUE"

On line 74 of the VMX file. Does it matter where in the file that line is placed? I pulled this info from the vmware.log file:

vmx| USB: Found device name:Samsung\ SCH-i910 vid:04e8 pid:6662 path:5/1 speed:high family:vendor

Am I missing something? Are there any other switches I might need? I might also comment that this is ActiveSync 4.6 on WindowsMobile 6.1, if that makes any difference. I have to reboot the phone to get vmware to even briefly recognize it. Once it does, it properly identifies it, but does nothing afterwards.

Thoughts?

Edit: Created a new thread as this one pertained to Palm devices, and my issue deals with the Samsung Omnia SCH-i910

http://communities.vmware.com/message/1272423#1272423

0 Kudos