On Sat, 2009-06-06 at 02:11 +0200, David Richardson wrote: > > > On Thu, Jun 4, 2009 at 1:59 AM, Mark Ellis <[email protected]> > wrote: > > On Thu, 2009-05-28 at 03:49 +0200, David Richardson wrote: > > > > > > On Sun, May 24, 2009 at 4:30 AM, Mark Ellis > <[email protected]> > > 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
> > > [email protected]
> > >
> 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
> > [email protected]
> >
> 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 [email protected] https://lists.sourceforge.net/lists/listinfo/synce-devel
