On Tue, May 3, 2011 at 21:05, Stuart Henderson <s...@spacehopper.org> wrote:
> On 2011-05-03, Markus Bergkvist <markus.bergkv...@telia.com> wrote: > > On 05/03/11 22:13, Stuart Henderson wrote: > >> vovka<net.vlad<at> gmail.com> writes: > >>> On Sat, Apr 30, 2011 at 18:08, Erik Mugele<ejm<at> teuton.org> > wrote: > >>>> The following patch against -current enables the Samsung Galaxy S > >>>> Android device (Samsung Captivate with AT&T) to be be used for USB > >>>> tethering. > >>> Erik, great work and great patch... I, too, have a Samsung Galaxy > S. > >>> Your patch did not apply correctly, so here is my version of it.I've > also > >>> attached a diff of "usbdevs.h" . > >> > >> Please pkg_add usbutil, then identify the relevant /dev/usbX controller > >> device (from "usbdevs -v" output), run "usbctl -f /dev/usbX", and > include > >> the output. If other people with different Android phones that support > >> this mode of tethering could do the same, we may be able to identify > >> a suitable class id we can match on instead. > >> > >> > > > > Is this sufficient? > > > hmm, not sure.. from what I was reading there should be some > communications device class interface showing up and here's there's > just mass-storage. is there some different mode you need to select > on the phone to use tethering? (I haven't used any android phone). > > > ---------- > > There are three (3) modes, excluding USB DEBUG. Those are KIES(firmware update), Mass Storage, and Media Player.... I've tested with USB DEBUG on/off and have been successful in tethering the phone. I have a T-Mobile Vibrant, which is their version of the Galaxy S. Output of 'usbctl -f /dev/usbX' with USB DEBUG enabled. DEVICE addr 1 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=2.00 bDeviceClass=9 bDeviceSubClass=0 bDeviceProtocol=1 bMaxPacketSize=64 idVendor=0x8086 idProduct=0x0000 bcdDevice=100 iManufacturer=1(Intel) iProduct=2(EHCI root hub) iSerialNumber=0() bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=25 bNumInterface=1 bConfigurationValue=1 iConfiguration=0() bmAttributes=40 bMaxPower=0 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=9 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0() ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=255 current configuration 1 HUB descriptor: bDescLength=11 bDescriptorType=41 bNbrPorts=8 wHubCharacteristics=80 bPwrOn2PwrGood=200 bHubContrCurrent=0 DeviceRemovable=0 Hub status 0000 0000 Port 1 status=0500 change=0000 Port 2 status=0503 change=0000 Port 3 status=0500 change=0000 Port 4 status=0500 change=0000 Port 5 status=0500 change=0000 Port 6 status=0500 change=0000 Port 7 status=0500 change=0000 Port 8 status=0500 change=0000 ---------- DEVICE addr 2 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=2.00 bDeviceClass=2 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=64 idVendor=0x04e8 idProduct=0x6881 bcdDevice=400 iManufacturer=1(SAMSUNG) iProduct=2(SAMSUNG_Android) iSerialNumber=3(T959f0b2b5f4) bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=67 bNumInterface=2 bConfigurationValue=6 iConfiguration=0() bmAttributes=c0 bMaxPower=96 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=2 bInterfaceSubClass=2 bInterfaceProtocol=255 iInterface=9(RNDIS Communications Control) CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=header bcdCDC=1.10 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=Call_Management bmCapabilities=0x0 bDataInterface=1 CDC INTERFACE descriptor: bLength=4 bDescriptorType=cs_interface(36) bDescriptorSubtype=Abstract_Control_Model bmCapabilities=0x0 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=union bMasterInterface=0 bSlaveInterface0=1 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=9-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=9 INTERFACE descriptor 1: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=1 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=10(RNDIS Ethernet Data) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=14-in bmAttributes=bulk wMaxPacketSize=512 bInterval=0 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=13-out bmAttributes=bulk wMaxPacketSize=512 bInterval=0 current configuration 6 DEVICE addr 1 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=2.00 bDeviceClass=9 bDeviceSubClass=0 bDeviceProtocol=1 bMaxPacketSize=64 idVendor=0x8086 idProduct=0x0000 bcdDevice=100 iManufacturer=1(Intel) iProduct=2(EHCI root hub) iSerialNumber=0() bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=25 bNumInterface=1 bConfigurationValue=1 iConfiguration=0() bmAttributes=40 bMaxPower=0 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=9 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=0() ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=1-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=255 current configuration 1 HUB descriptor: bDescLength=11 bDescriptorType=41 bNbrPorts=8 wHubCharacteristics=80 bPwrOn2PwrGood=200 bHubContrCurrent=0 DeviceRemovable=0 Hub status 0000 0000 Port 1 status=0500 change=0000 Port 2 status=0503 change=0000 Port 3 status=0500 change=0000 Port 4 status=0500 change=0000 Port 5 status=0500 change=0000 Port 6 status=0500 change=0000 Port 7 status=0500 change=0000 Port 8 status=0500 change=0000 ---------- DEVICE addr 2 DEVICE descriptor: bLength=18 bDescriptorType=device(1) bcdUSB=2.00 bDeviceClass=2 bDeviceSubClass=0 bDeviceProtocol=0 bMaxPacketSize=64 idVendor=0x04e8 idProduct=0x6881 bcdDevice=400 iManufacturer=1(SAMSUNG) iProduct=2(SAMSUNG_Android) iSerialNumber=3(T959f0b2b5f4) bNumConfigurations=1 CONFIGURATION descriptor 0: bLength=9 bDescriptorType=config(2) wTotalLength=67 bNumInterface=2 bConfigurationValue=6 iConfiguration=0() bmAttributes=c0 bMaxPower=96 mA INTERFACE descriptor 0: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=0 bAlternateSetting=0 bNumEndpoints=1 bInterfaceClass=2 bInterfaceSubClass=2 bInterfaceProtocol=255 iInterface=9(RNDIS Communications Control) CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=header bcdCDC=1.10 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=Call_Management bmCapabilities=0x0 bDataInterface=1 CDC INTERFACE descriptor: bLength=4 bDescriptorType=cs_interface(36) bDescriptorSubtype=Abstract_Control_Model bmCapabilities=0x0 CDC INTERFACE descriptor: bLength=5 bDescriptorType=cs_interface(36) bDescriptorSubtype=union bMasterInterface=0 bSlaveInterface0=1 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=9-in bmAttributes=interrupt wMaxPacketSize=8 bInterval=9 INTERFACE descriptor 1: bLength=9 bDescriptorType=interface(4) bInterfaceNumber=1 bAlternateSetting=0 bNumEndpoints=2 bInterfaceClass=10 bInterfaceSubClass=0 bInterfaceProtocol=0 iInterface=10(RNDIS Ethernet Data) ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=14-in bmAttributes=bulk wMaxPacketSize=512 bInterval=0 ENDPOINT descriptor: bLength=7 bDescriptorType=endpoint(5) bEndpointAddress=13-out bmAttributes=bulk wMaxPacketSize=512 bInterval=0 current configuration 6 ---------- Consequently, with 'USB DEBUG' enabled/disabled, the dmesg output is the same: urndis0 at uhub0 port 2 configuration 6 interface 0 "SAMSUNG SAMSUNG_Android" rev 2.00/4.00 addr 2 urndis0: address de:6f:56:ac:66:af ---------- I am running -current as of May 2nd. DMESG: OpenBSD 4.9-current (ORION) #2: Mon May 2 15:10:44 EDT 2011 r...@orion.vladnet.org:/usr/src/sys/arch/amd64/compile/ORION real mem = 3218931712 (3069MB) avail mem = 3119198208 (2974MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xe0010 (68 entries) bios0: vendor LENOVO version "79ETE6WW (2.26 )" date 04/01/2010 bios0: LENOVO 20078HU acpi0 at bios0: rev 2 acpi0: sleep states S0 S3 S4 S5 acpi0: tables DSDT FACP SSDT ECDT TCPA APIC MCFG HPET SLIC BOOT SSDT SSDT SSDT SSDT acpi0: wakeup devices LID_(S3) SLPB(S3) LURT(S3) DURT(S3) EXP0(S4) EXP1(S4) EXP2(S4) EXP3(S4) PCI1(S4) USB0(S3) USB1(S3) USB2(S3) USB7(S3) HDEF(S4) acpitimer0 at acpi0: 3579545 Hz, 24 bits acpiec0 at acpi0 acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz, 2327.92 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG cpu0: 4MB 64b/line 16-way L2 cache cpu0: apic clock running at 166MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: Intel(R) Core(TM)2 CPU T7600 @ 2.33GHz, 2327.50 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,SBF,SSE3,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG cpu1: 4MB 64b/line 16-way L2 cache ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins ioapic0: misconfigured as apic 2, remapped to apid 1 acpimcfg0 at acpi0 addr 0xf0000000, bus 0-63 acpihpet0 at acpi0: 14318179 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus 1 (AGP_) acpiprt2 at acpi0: bus 2 (EXP0) acpiprt3 at acpi0: bus 3 (EXP1) acpiprt4 at acpi0: bus 4 (EXP2) acpiprt5 at acpi0: bus 12 (EXP3) acpiprt6 at acpi0: bus 21 (PCI1) acpicpu0 at acpi0: C3, C2, C1, PSS acpicpu1 at acpi0: C3, C2, C1, PSS acpipwrres0 at acpi0: PUBS acpitz0 at acpi0: critical temperature 127 degC acpitz1 at acpi0: critical temperature 99 degC acpibtn0 at acpi0: LID_ acpibtn1 at acpi0: SLPB acpibat0 at acpi0: BAT0 model "92P1133" serial 1658 type LION oem "Panasonic" acpibat1 at acpi0: BAT1 not present acpiac0 at acpi0: AC unit online acpithinkpad0 at acpi0 acpidock0 at acpi0: GDCK not docked (0) cpu0: Enhanced SpeedStep 2327 MHz: speeds: 2333, 2000, 1667, 1333, 1000 MHz pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03 ppb0 at pci0 dev 1 function 0 "Intel 82945GM PCIE" rev 0x03: apic 1 int 16 pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "ATI Mobility FireGL V5250" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) radeondrm0 at vga1: apic 1 int 16 drm0 at radeondrm0 azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x02: apic 1 int 17 azalia0: codecs: Analog Devices AD1981HD, Conexant/0x2bfa, using Analog Devices AD1981HD audio0 at azalia0 ppb1 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x02: apic 1 int 20 pci2 at ppb1 bus 2 em0 at pci2 dev 0 function 0 "Intel PRO/1000MT (82573L)" rev 0x00: apic 1 int 16, address 00:15:58:86:93:88 ppb2 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x02: apic 1 int 21 pci3 at ppb2 bus 3 wpi0 at pci3 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: apic 1 int 17, MoW1, address 00:1b:77:11:93:bf ppb3 at pci0 dev 28 function 2 "Intel 82801GB PCIE" rev 0x02: apic 1 int 22 pci4 at ppb3 bus 4 ppb4 at pci0 dev 28 function 3 "Intel 82801GB PCIE" rev 0x02: apic 1 int 23 pci5 at ppb4 bus 12 uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x02: apic 1 int 16 uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x02: apic 1 int 17 uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x02: apic 1 int 18 uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x02: apic 1 int 19 ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x02: apic 1 int 19 usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb5 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe2 pci6 at ppb5 bus 21 cbb0 at pci6 dev 0 function 0 "TI PCI1510 CardBus" rev 0x00: apic 1 int 16 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 22 device 0 cacheline 0x8, lattimer 0xb0 pcmcia0 at cardslot0 pcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x02 pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x02: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide0 channel 0 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <HL-DT-ST, DVDRAM GSA-4083N, 1.08> ATAPI 5/cdrom removable cd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 pciide0: channel 1 ignored (disabled) ahci0 at pci0 dev 31 function 2 "Intel 82801GBM AHCI" rev 0x02: apic 1 int 16, AHCI 1.1 scsibus1 at ahci0: 32 targets sd0 at scsibus1 targ 0 lun 0: <ATA, SAMSUNG HM161GI, 2AJ1> SCSI3 0/direct fixed naa.50024e90040dd156 sd0: 152627MB, 512 bytes/sec, 312581808 sec total ichiic0 at pci0 dev 31 function 3 "Intel 82801GB SMBus" rev 0x02: apic 1 int 23 iic0 at ichiic0 usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb4 at uhci3: USB revision 1.0 uhub4 at usb4 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at pcib0 isadma0 at isa0 com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 aps0 at isa0 port 0x1600/31 mtrr: Pentium Pro MTRR support ugen0 at uhub4 port 2 "STMicroelectronics Biometric Coprocessor" rev 1.00/0.01 addr 2 vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root root on sd0a swap on sd0b dump on sd0b scsibus3 at softraid0: 1 targets sd1 at scsibus3 targ 0 lun 0: <OPENBSD, SR CRYPTO, 004> SCSI2 0/direct fixed sd1: 125510MB, 512 bytes/sec, 257044575 sec total