T-Mobile G1 USB Tether support?



  • I am attempting to configure my pfSense 2.0-AA box with additional WAN lines, for redundancy.

    My T-Mobile G1, although 3G is not yet available in my area, is now capable of USB tethering.  However, if I plug it into my pfSense box with USB Tether DISabled, dmesg shows:```
    ugen0.2: <htc> at usbus0
    umass0: <usb_mass_storage> on usbus0
    umass0:  SCSI over Bulk-Only; quirks = 0x0000
    umass0:0:0👎 Attached to scbus0
    (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
    (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
    (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
    (probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:29,0
    (probe0:umass-sim0:0:0:0): Power on, reset, or bus device reset occurred
    (probe0:umass-sim0:0:0:0): Retrying Command (per Sense Data)
    (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
    (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
    (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
    (probe0:umass-sim0:0:0:0): NOT READY asc:3a,0
    (probe0:umass-sim0:0:0:0): Medium not present
    (probe0:umass-sim0:0:0:0): Unretryable error
    da0 at umass-sim0 bus 0 target 0 lun 0
    da0: <htc android="" phone="" 0100=""> Removable Direct Access SCSI-2 device
    da0: 1.000MB/s transfers
    da0: Attempt to query device size failed: NOT READY, Medium not present</htc></usb_mass_storage></htc>

    
    Disconnect, as expected, produces:```
    ugen0.2: <htc> at usbus0 (disconnected)
    umass0: at uhub0, port 2, addr 2 (disconnected)
    (da0:umass-sim0:0:0:0): lost device
    (da0:umass-sim0:0:0:0): removing device entry</htc>
    

    And now, ENABLING USB Tether, reconnecting, and hoping for a new interface to enable produces:```
    ugen0.2: <htc> at usbus0
    umass0: <usb_mass_storage> on usbus0
    umass0:  SCSI over Bulk-Only; quirks = 0x0000
    umass0: Get Max Lun not supported (USB_ERR_STALLED)
    umass0:0:0👎 Attached to scbus0
    (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
    (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
    (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
    (probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:29,0
    (probe0:umass-sim0:0:0:0): Power on, reset, or bus device reset occurred
    (probe0:umass-sim0:0:0:0): Retrying Command (per Sense Data)
    (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0
    (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error
    (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition
    (probe0:umass-sim0:0:0:0): NOT READY asc:3a,0
    (probe0:umass-sim0:0:0:0): Medium not present
    (probe0:umass-sim0:0:0:0): Unretryable error
    da0 at umass-sim0 bus 0 target 0 lun 0
    da0: <htc android="" phone="" 0100=""> Removable Direct Access SCSI-2 device
    da0: 1.000MB/s transfers
    da0: Attempt to query device size failed: NOT READY, Medium not present</htc></usb_mass_storage></htc>

    
    No change, that I can determine…
    
    On an Ubuntu Karmic box, it is detected as mass storage quite similarly, but with an additional```
    usbcore: registered new interface driver cdc_ether
    usb0: register 'rndis_host' at usb-0000:00:0b.1-2, RNDIS device, 00:11:22:33:44:55
    usbcore: registered new interface driver rndis_host
    

    At this point, Network Manager is able to make regular use of the usb0 device, grabs dhcp, and goes…  Wondering if there's any info on whether / when this support might be available in pfSense, as I've always got the phone plugged into USB for charge, and it would provide an additional WAN-line, albeit slow, if support were there...

    Lastly, we have 2 of them, a PCI rt61 device that doesn't yet work (as client, not running AP yet), a cable modem and a DSL modem, all of which could hopefully soon act as WAN-lines...

    Can anyone say OVERKILL...  Just 'cuz I'm paranoid, doesn't mean they're not out to get me!!  Didn't Patrick Stewart make that statement in Paranoid?



  • Since FreeBSD apparently reports your phone as a mass storage device and Ubuntu Linux apparently reports your phone as an ethernet device my guess is that its actually a combination of the two and we might need to see a little bit more of the FreeBSD output when the phone is plugged in for it to become a bit clearer what is going on. Please supply the output of the shell command
    usbdevs -v
    for more complete information on the USB devices.

    The reported error on the phone 'mass storage' device might be due to FreeBSD not having particular knowledge of the quirks of the mass storage device in the phone. At least a couple of years ago FreeBSD's table of quirky USB mass storage devices was nowhere near as large as Linux's and I have in my possession some USB to notebook hard drive adapters that would work in up to date Linux systems but not then current FreeBSD systems. I would guess you don't particularly care about the phone's 'mass storage' in this case.



  • Thank you for your attention to this, first off.

    Here's the output of the command you suggested, run on pfSense console via SSH (currently no display attached).

    # usbdevs -v
    usbdevs: Command not found.
    

    Not terribly helpful, I'd imagine.

    According to some of my other research, "Try usbdevs and usbdevs -v on FreeBSD 6.x/7.x (usbconfig is from 8.x).", usbconfig is what I need instead:
    ugen0.2: <android phone="" htc="">at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON

    You were correct in your assumption that I've no need or concern for the mass-storage capabilities of the connection, at least in regards to pfSense.  I use Kubuntu Karmic on another box, for development and backup of my phone and it's data.  I've considered building a VM again, to run pfSense on an Ubuntu box, thus permitting bridging of the interfaces, but I've had too many difficulties with that sort of setup in the past…</android>



  • Sorry for the bad advice suggesting usbdevs. I was aware of the new USB stack in FreeBSD 8.0 but not aware of the name change for the supporting utility.

    The reporting of device ugen ("generic USB device") indicates there is no specific driver for a USB component of the phone: the "generic USB" driver attaches to USB devices unclaimed by other USB devices in the system. You will probably need to take this up with the FreeBSD developers, if you haven't already done so. One way to do that would be to create a new note in the System Hardware forum at http://forums.freebsd.org/forumdisplay.php?f=32



  • I haven't heard of any support for using an android phone as a modem under FreeBSD. IMO, you're probably out of luck. As for it showing up as a storage device, many of the 3G USB modems come up initially as a mass-storage device (so you can load the driver or whatever) and an initialization string is sent by the driver to switch the device mode.



  • @dotdash:

    I haven't heard of any support for using an android phone as a modem under FreeBSD.

    The G1 does not show up specifically as a G1, when in tether mode, but as a generic RNDIS network device, as I understand things.

    IMO, you're probably out of luck.

    Please, don't say that!!!

    As for it showing up as a storage device, many of the 3G USB modems come up initially as a mass-storage device (so you can load the driver or whatever) and an initialization string is sent by the driver to switch the device mode.

    I've used / installed that sort of device, so I'm aware of how many of the cellular modems do show up as mass-storage, driver installs, and then switches the mode.  In the G1's case, however, AFAIK, one has nothing to do with the other.  It detects as a mass-storage device on all machines, and this results in the ability to use the micro-sd card as a storage device directly.  Again, when in tether mode, it shows up as a generic RNDIS NIC, as well as the usual mass-storage device, independently, I believe.



  • Root your G1 + tether over wifi to pfSense interface = great success? 8)


Log in to reply