Post by David RichardsonAny 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\
Post by David RichardsonConnectionSharing\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.
[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 <http://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]
What did you do in the registry to switch this ? I did a quick diff on
Post by David Richardsonregistry 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
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)
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)
Post by David RichardsonWhat 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