On Sat, 2009-06-06 at 02:11 +0200, David Richardson wrote: > > > On Thu, Jun 4, 2009 at 1:59 AM, Mark Ellis <m...@mpellis.org.uk> > wrote: > > On Thu, 2009-05-28 at 03:49 +0200, David Richardson wrote: > > > > > > On Sun, May 24, 2009 at 4:30 AM, Mark Ellis > <m...@mpellis.org.uk> > > wrote: > > On Thu, 2009-05-21 at 05:34 +0200, David Richardson > wrote: > > > I'm trying to use SynCE to connect more than a > dozen WM > > devices at > > > once. I have got it to work for multiple devices > as long as > > they're > > > all in PPP mode but some of the devices can only > be set in > > RNDIS mode > > > (namely the Blackjack 1 and Blackjack 2). For > these devices > > only the > > > first one I'm connecting will create a new network > interface > > (eth1) > > > and any other RNDIS phone I plug in will not > create a new > > interface > > > but the dmesg output is fine (ie the same as the > first > > device) > > > > > > > > > This is theoretically possible, but as far as I know > you're > > the first > > one to report trying it. > > > > Can you please plug in two devices and send the > unedited dmesg > > output, > > and the result of iptables -a > > > > First device (no other devices plugged in) dmesg output > > > > [10095.896200] usb 2-1: new full speed USB device using > uhci_hcd and > > address 4 > > [10096.073705] usb 2-1: configuration #1 chosen from 1 > choice > > [10096.216333] rndis_host 2-1:1.0: > RNDIS_MSG_QUERY(0x00010202) failed, > > -47 > > [10096.223042] eth1: register 'rndis_host' at > usb-0000:00:1a.1-1, > > RNDIS device, 80:00:60:0f:e8:00 > > > > ifconfig now detects eth1 and synce-pls -p DEVICE_ID works. > > > > After connecting the second device, dmesg output: > > > > [10284.568072] usb 6-1: new full speed USB device using > uhci_hcd and > > address 6 > > [10284.739528] usb 6-1: configuration #1 chosen from 1 > choice > > [10284.846093] rndis_host 6-1:1.0: > RNDIS_MSG_QUERY(0x00010202) failed, > > -47 > > [10284.853772] eth2: register 'rndis_host' at > usb-0000:00:1d.2-1, > > RNDIS device, 80:00:60:0f:e8:00 > > > > Which is basically identical to the output when the first > device is > > connected, but eth2 doesn't exist according to ifconfig. > > > > synce-pls -p DEVICE_ID still works but synce-pls -p > DEVICE_ID2 can't > > find the configuration. > > > > iptables -a didn't do anything (iptables v1.4.0). Perhaps > you mean > > iptables -L? The output of that is: > > > > > Sorry, meant ifconfig -a, but you got the idea anyway :) > > > > Chain INPUT (policy ACCEPT) > > target prot opt source destination > > > > Chain FORWARD (policy ACCEPT) > > target prot opt source destination > > > > Chain OUTPUT (policy ACCEPT) > > target prot opt source destination > > > > the output of ifconfig is: > > > > eth1 Link encap:Ethernet HWaddr 80:00:60:0f:e8:00 > > inet addr:169.254.2.2 Bcast:169.254.2.255 > > Mask:255.255.255.0 > > inet6 addr: fe80::8200:60ff:fe0f:e800/64 > Scope:Link > > UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 > > RX packets:11 errors:8 dropped:0 overruns:0 > frame:0 > > TX packets:46 errors:0 dropped:0 overruns:0 > carrier:0 > > collisions:0 txqueuelen:1000 > > RX bytes:1056 (1.0 KB) TX bytes:11128 (11.1 KB) > > > > > > > > > > > > > So I thought it might be an IP collision so I > edited > > > HKEY_LOCAL_MACHINE\Comm\DTPT\DTPTCLI_ADDR and > DTPTSER_ADDR > > and the > > > device now connects using the new IP, but the > first device > > is still > > > the only one creating an interface. > > > > > > > > > Good idea. > > > > > So does anyone have any ideas of what might be > preventing > > the second > > > interfaces from appearing? > > > > > > > > > Not yet.... > > > > > (I also tried setting > > > HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers > > \DefaultClientDriver to > > > Serial_Class instead of RNDIS on the devices that > wouldn't > > let me > > > disabled advanced networking through the GUI, but > no > > interfaces were > > > made in that mode either) > > > > > > dmesg even says [11839.205688] eth2: register > 'rndis_host' > > at > > > usb-0000:00:1a.1-1, RNDIS device, > 80:00:60:0f:e8:00 > > > > > > eth2 even though no eth2 exists afterward > > > > > > Any thoughts on what unique value I can change so > that the > > second (and > > > third) devices are detected? All of them use the > HWaddr of > > > 80:00:60:0f:e8:00. > > > > > > Ah, this could be a significant problem I guess. > > > > Any idea how I can spoof the mac address on my phone? Or is > my > > phone's hardware even specifying this address (seems > unlikely to me > > since I also have an HTC 3125 that just happens to use this > HWAddr)? > > If synce is specifying this address, can I change that > somehow? > > Googling 80:00:60:0f:e8:00 seems to reveal that it is the > common > > HWaddr for RNDIS sync even in Windows. > > > > > The more I look I thing every rndis connection uses this > address, and I > can't see any way to change it. It does appear in a registry > entry > > HKEY_LOCAL_MACHINE\Comm\ConnectionSharing\Addresses > \192.168.0.102 > \HardwareAddress > > which seemed like a long shot since it's obviously for ICS, > but hey it > is Micro$oft :), so I tried changing it but to no effect. > > I bet you can change it, but I have no idea where. > > Interestingly enough my registry doesn't even have these keys. >
Have you ever used internet sharing ? Maybe it doesn't get initialised until then ? Doesn't really matter for our purposes anyway. > [HKEY_LOCAL_MACHINE\Comm\ConnectionSharing] > "PublicInterface"="" > "PrivateInterface"="" > "SetLastDhcpAddrToIEH"=dword=00000001 > "DisabledOnBoot"=dword=00000001 > "EnableDnsProxy"=dword=00000001 > "EnableDhcpAllocator"=dword=00000001 > "EnableAddressTranslation"=dword=00000001 > "EnablePacketFiltering"=dword=00000001 > > [HKEY_LOCAL_MACHINE\Comm\ConnectionSharing\Driver] > "Flags"=dword=00000002 > "Index"=dword=00000000 > "Prefix"="NAT" > "Dll"="ipnat.dll" > > grep e8 blackjack1.registry | grep 0f # no relevant lines seem to > contain both 0f and e8 in my registry dump > > 02e8: 82 3c ba 32 0f 3e f5 ff .<.2.>.. > 03e8: 06 03 55 1d 0f 04 04 03 ..U..... > 01e8: 00 c1 51 0f 4c 52 f8 04 ..Q.LR.. > 0038: 1b de 3a 09 e8 f8 77 0f ..:...w. > "acde140f-4fc9-4951-8ede-e5ee805a0e0a.rgu"=Value (16 bytes): > [HKEY_CLASSES_ROOT\CLSID\{4e822425-a00f-497c-80ff-1c554665a369}] > [HKEY_CLASSES_ROOT\CLSID > \{4e822425-a00f-497c-80ff-1c554665a369}\InprocServer32] > > > > > An alternative solution to this problem would be getting the > > blackjacks to run in ppp mode. This works fine with all the > other > > phones, and is only a problem with the blackjack because it > seems > > forced to run in rndis. As mentioned before I've already > tried > > specifying manually to use ppp mode by modifying the > registry and I > > have also tried using an app I found called USBSwitch.cab > that is > > supposed to switch between RNDIS and PPP on phones that > don't offer > > the functionality in the GUI. However, neither of these > options > > allowed my device to be detected at all by synce (and I > think > > USBSwitch.cab fails outright on the Blackjack) > > > What did you do in the registry to switch this ? I did a quick > diff on > registry dumps from a device connected by rndis then serial. > There are a > few relevant differences, but the most likely looks like > > HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers > \DefaultClientDriver > > > which under rndis is RNDIS and when using serial is > SerialClass, worth a > try on yours. > > This is exactly what I have tried already. I tried Serial_Class and > USBSER_Class, but like you observed there is also a lot of other > non-trivial stuff changing that has me worried. My registry does > contain the appropriate values for USBSER_Class and Serial_Class > > synce-registry -l HKEY_LOCAL_MACHINE Drivers\\USB\\FunctionDrivers -L > > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers] > "DefaultClientDriver"="RNDIS" > > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\USBSER_Class] > "DeviceType"=dword=00000000 > "Tsp"="Unimodem.dll" > "bcdDevice"=dword=00000090 > "Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)" > "idProduct"=dword=00000079 > "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change > idVendor)" > "idVendor"=dword=0000045e > "IClass"=Value (158 bytes): > 0000: 7b 00 43 00 43 00 35 00 {.C.C.5. > 0008: 31 00 39 00 35 00 41 00 1.9.5.A. > 0010: 43 00 2d 00 42 00 41 00 C.-.B.A. > 0018: 34 00 39 00 2d 00 34 00 4.9.-.4. > 0020: 38 00 61 00 30 00 2d 00 8.a.0.-. > 0028: 42 00 45 00 31 00 37 00 B.E.1.7. > 0030: 2d 00 44 00 46 00 36 00 -.D.F.6. > 0038: 44 00 31 00 42 00 30 00 D.1.B.0. > 0040: 31 00 37 00 33 00 44 00 1.7.3.D. > 0048: 44 00 7d 00 00 00 7b 00 D.}...{. > 0050: 43 00 33 00 37 00 35 00 C.3.7.5. > 0058: 43 00 37 00 38 00 37 00 C.7.8.7. > 0060: 2d 00 42 00 37 00 32 00 -.B.7.2. > 0068: 31 00 2d 00 34 00 62 00 1.-.4.b. > 0070: 38 00 65 00 2d 00 42 00 8.e.-.B. > 0078: 36 00 37 00 46 00 2d 00 6.7.F.-. > 0080: 41 00 31 00 31 00 32 00 A.1.1.2. > 0088: 44 00 35 00 43 00 30 00 D.5.C.0. > 0090: 41 00 34 00 30 00 34 00 A.4.0.4. > 0098: 7d 00 00 00 00 00 }..... > 00a0: > "RxBufferSize"=dword=00004000 > "DeviceArrayIndex"=dword=00000001 > "Prefix"="COM" > "DeviceName"="USBFNS2:" > "Dll"="serialusbfn.dll" > > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class] > "DeviceType"=dword=00000000 > "Tsp"="Unimodem.dll" > "bcdDevice"=dword=00000000 > "Product"="Generic Serial (PROTOTYPE--Remember to change idVendor)" > "idProduct"=dword=000000ce > "Manufacturer"="Generic Manufacturer (PROTOTYPE--Remember to change > idVendor)" > "idVendor"=dword=0000045e > "IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}" > "RxBufferSize"=dword=00004000 > "DeviceArrayIndex"=dword=00000000 > "Prefix"="COM" > "DeviceName"="USBFNS1:" > "Dll"="serialusbfn.dll" > > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\RNDIS] > "Product"="MITS USB RNDIS" > "idProductInternetSharing"=dword=000004e8 > "idProduct"=dword=00006662 > "idVendor"=dword=000004e8 > "Manufacturer"="Samsung" > "MaxOutTransfer"=dword=00002000 > "MTU"=dword=00001f80 > "UseActiveSyncIds"=dword=00000001 > "bcdDevice"=dword=00000000 > "FriendlyName"="Rndis" > "Dll"="rndisfn.dll" > > [HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Mass_Storage_Class] > "Removable"=dword=00000001 > "bcdDevice"=dword=00000001 > "Product"="MITS Mass Storage" > "idProduct"=dword=00006663 > "Manufacturer"="Samsung" > "idVendor"=dword=000004e8 > "FriendlyName"="MITS Mass Storage" > "DeviceName"="DSK3:" > "Dll"="usbmsfn.fix.dll" > "InterfaceProtocol"=dword=00000050 > "InterfaceSubClass"=dword=00000006 > > > dmesg output when DefaultClientDriver = "Serial_Class" (after powering > off and powering back on and confirming value still = "Serial_Class") > [See 'Before USBSwitch' for dmesg output for "RNDIS"] > > [ 8487.580376] usb 2-2: new full speed USB device using uhci_hcd and > address 12 > [ 8487.759582] usb 2-2: configuration #1 chosen from 1 choice > [ 8487.762284] ipaq 2-2:1.0: PocketPC PDA converter detected > [ 8487.764313] usb 2-2: PocketPC PDA converter now attached to ttyUSB1 > That actually looks quite good, just the fact that the ipaq driver has picked it up. However, I notice that this message relates to ttyUSB1, whereas the below related to ttyUSB0, is this the only device plugged in ? When the device is in "serial mode", can you do a lsusb -v on it for me ? > output of synce-pls > ** Message: > Device > /org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0_serial_usb_0 > not fully set in Hal, skipping > > It is showing up in hal but instead of pda.pocketpc.hotsync_interface > = $DEVICE_ID it equals '/dev/ttyUSB0' (which is consistent with my > other devices for the first 1-5 seconds after plugging them in, but > after that it gets set to $DEVICE_ID) > Ignore the property pda.pocketpc.hotsync_interface, it's only there to keep a bug in gnome happy and shouldn't be used for anything. > output of > `hal-device > /org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0_serial_usb_0` > > udi = > '/org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0_serial_usb_0' > linux.device_file = '/dev/ttyUSB0' (string) > linux.sysfs_path = > '/sys/devices/pci0000:00/0000:00:1a.1/usb2/2-2/2-2:1.0/ttyUSB0/tty/ttyUSB0' > (string) > info.subsystem = 'tty' (string) > info.parent = > '/org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0' > (string) > serial.originating_device = > '/org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0' > (string) > info.product = 'Pocket PC PDA' (string) > serial.device = '/dev/ttyUSB0' (string) > info.udi = > '/org/freedesktop/Hal/devices/usb_device_45e_ce_43bf5000_bf39_0801_0e70_021408de0184_if0_serial_usb_0' > (string) > usb.product = 'Windows Mobile Device' (string) > info.addons = { 'hal-synce-serial' } (string list) > serial.port = 0 (0x0) (int) > linux.hotplug_type = 2 (0x2) (int) > serial.type = 'usb' (string) > linux.subsystem = 'tty' (string) > info.capabilities = { 'serial', 'pda', 'sync', 'pda' } (string list) > pda.platform = 'pocketpc' (string) > usb.interface.description = 'Windows Mobile Data Provider' (string) > pda.pocketpc.hotsync_interface = '/dev/ttyUSB0' (string) > info.category = 'pda' (string) > sync.engine = 'opensync' (string) > sync.plugin = 'synce' (string) > > output of hal-device for a ppp device that is connected > > udi = > '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0_serial_usb_0' > serial.originating_device = > '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0' > (string) > pda.pocketpc.name = 'ID_0bb40a51' (string) > serial.device = '/dev/ttyUSB0' (string) > pda.pocketpc.platform = 'SmartPhone' (string) > serial.port = 0 (0x0) (int) > pda.pocketpc.model = 'HTC' (string) > serial.type = 'usb' (string) > linux.hotplug_type = 2 (0x2) (int) > pda.pocketpc.os_major = 5 (0x5) (uint64) > pda.platform = 'pocketpc' (string) > linux.subsystem = 'tty' (string) > info.subsystem = 'tty' (string) > pda.pocketpc.os_minor = 1 (0x1) (uint64) > pda.pocketpc.hotsync_interface = 'ID_0bb40a51' (string) > info.capabilities = { 'serial', 'pda', 'sync', 'pda' } (string list) > info.product = 'Pocket PC PDA' (string) > pda.pocketpc.version = 12779781 (0xc30105) (uint64) > sync.engine = 'opensync' (string) > info.udi = > '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0_serial_usb_0' > (string) > sync.plugin = 'synce' (string) > pda.pocketpc.cpu_type = 2577 (0xa11) (uint64) > pda.pocketpc.current_partner_id = 0 (0x0) (uint64) > pda.pocketpc.guid = '{1148426D-BC21-B03E-1049-13CBFEEA1AE9}' > (string) > pda.pocketpc.ip_address = '192.168.131.129' (string) > pda.pocketpc.password = 'unset' (string) > info.interfaces = { 'org.freedesktop.Hal.Device.Synce' } (string > list) > usb.interface.description = 'Windows Mobile Data Provider' (string) > info.category = 'pda' (string) > linux.sysfs_path = > '/sys/devices/pci0000:00/0000:00:1d.2/usb6/6-1/6-1:1.0/ttyUSB0/tty/ttyUSB0' > (string) > info.addons = { 'hal-synce-serial' } (string list) > info.parent = > '/org/freedesktop/Hal/devices/usb_device_bb4_a51_noserial_if0' > (string) > linux.device_file = '/dev/ttyUSB0' (string) > usb.product = 'Windows Mobile Device' (string) > > Noteworthy: Almost all the pda.pocketpc.* properties are missing (such > as cpu_type, guid, ip_address, model, etc) Yep, that's what the "device not fully set in hal" message from synce-pls means. In short, when you connect, hal populates the device entry with the basic info you can see, and then starts the synce stuff (info.addons = hal-synce-serial). This then starts a full connection to the device and gets the info it needs to create the rest of the pda.pocketpc fields. It's this connection that hasn't been established. > > > > What did you get in dmesg when connecting using USBSwitch ? > > USBSwitch doesn't appear to do anything at all on the Blackjack. I am > thinking it must be too old/designed for different phones. > > Before USBSwitch... > > [ 6029.016040] usb 2-2: new full speed USB device using uhci_hcd and > address 8 > [ 6029.189637] usb 2-2: configuration #1 chosen from 1 choice > [ 6029.292122] rndis_host 2-2:1.0: RNDIS_MSG_QUERY(0x00010202) failed, > -47 > [ 6029.297882] eth1: register 'rndis_host' at usb-0000:00:1a.1-2, > RNDIS device, 80:00:60:0f:e8:00 > > After USBSwitch (identical, basically) > > [ 6195.068030] usb 2-2: new full speed USB device using uhci_hcd and > address 9 > [ 6195.297494] usb 2-2: configuration #1 chosen from 1 choice > [ 6195.427057] rndis_host 2-2:1.0: RNDIS_MSG_QUERY(0x00010202) failed, > -47 > [ 6195.433780] eth1: register 'rndis_host' at usb-0000:00:1a.1-2, > RNDIS device, 80:00:60:0f:e8:00 > > Here is a different device in ppp mode connecting > > [ 6361.984043] usb 6-1: new full speed USB device using uhci_hcd and > address 3 > [ 6362.156504] usb 6-1: configuration #1 chosen from 1 choice > [ 6362.175879] ipaq 6-1:1.0: PocketPC PDA converter detected > [ 6362.178689] usb 6-1: PocketPC PDA converter now attached to ttyUSB0 > > > As a bonus here is the dmesg output of DefaultClientDriver = > "USBSER_Class" > > [10529.232035] usb 2-2: new full speed USB device using uhci_hcd and > address 17 > [10529.408428] usb 2-2: configuration #1 chosen from 1 choice > > Nothing on hal, so this isn't working at all. > > None of these situations changed the output of ifconfig -a at all > > > > > > > > > > > > > > > > > Thanks! > > > > > > -David Richardson > > > > > > > > > > ------------------------------------------------------------------------------ > > > Register Now for Creativity and Technology (CaT), > June 3rd, > > NYC. CaT > > > is a gathering of tech-side developers & brand > creativity > > professionals. Meet > > > the minds behind Google Creative Lab, Visual > Complexity, > > Processing, & > > > iPhoneDevCamp asthey present alongside digital > heavyweights > > like Barbarian > > > Group, R/GA, & Big Spaceship. > http://www.creativitycat.com > > > _______________________________________________ > > > SynCE-Devel mailing list > > > SynCE-Devel@lists.sourceforge.net > > > > https://lists.sourceforge.net/lists/listinfo/synce-devel > > > > > > ------------------------------------------------------------------------------ > > Register Now for Creativity and Technology (CaT), > June 3rd, > > NYC. CaT > > is a gathering of tech-side developers & brand > creativity > > professionals. Meet > > the minds behind Google Creative Lab, Visual > Complexity, > > Processing, & > > iPhoneDevCamp asthey present alongside digital > heavyweights > > like Barbarian > > Group, R/GA, & Big Spaceship. > http://www.creativitycat.com > > _______________________________________________ > > SynCE-Devel mailing list > > SynCE-Devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/synce-devel > > > > > >
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------------ OpenSolaris 2009.06 is a cutting edge operating system for enterprises looking to deploy the next generation of Solaris that includes the latest innovations from Sun and the OpenSource community. Download a copy and enjoy capabilities such as Networking, Storage and Virtualization. Go to: http://p.sf.net/sfu/opensolaris-get
_______________________________________________ SynCE-Devel mailing list SynCE-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/synce-devel