PfSense 2.4.4-RELEASE-p3 attempting to USB tether



  • Hello all,

    I've surveyed many helpful posts concerning this issue, but I come with questions on support and if I'm doming something wrong. Here's the details:

    • Using a Xiaomi Mi 9T on i3 Mobile (i3mobile.us) Tethering and all are included
    • pfSense installed on Sophos UTM 110/120 box, Americantrends BIOS
    • Went through and added in if_urndis module from FreeBSD ISO since it wasn't included in the FreeBSD 11.2 64 bit build already installed
    • I have edited the /boot/loader.conf file to include if_urndis and kldstat shows it running
    • I am not getting the ue0 interface, tested out both USB ports on pfSense hardware
    • i'm consoled in so i can see the phone being removed/readded instantly

    An ideas or pointers?



  • Further testing, shows I could use
    usbconfig -d ugen2.2 set_config 0
    but still no interface. Do i need to manually create the interface?

    Configuration index 0

    bLength = 0x0009
    bDescriptorType = 0x0002
    wTotalLength = 0x004b
    bNumInterfaces = 0x0002
    bConfigurationValue = 0x0001
    iConfiguration = 0x0004  <rndis>
    bmAttributes = 0x0080
    bMaxPower = 0x00fa
    
    Additional Descriptor
    
    bLength = 0x08
    bDescriptorType = 0x0b
    bDescriptorSubType = 0x00
     RAW dump:
     0x00 | 0x08, 0x0b, 0x00, 0x02, 0xef, 0x04, 0x01, 0x07
    
    
    Interface 0
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0000
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0001
      bInterfaceClass = 0x00ef  <Miscellaneous device>
      bInterfaceSubClass = 0x0004
      bInterfaceProtocol = 0x0001
      iInterface = 0x0005  <RNDIS Communications Control>
    
      Additional Descriptor
    
      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x00
       RAW dump:
       0x00 | 0x05, 0x24, 0x00, 0x10, 0x01
    
    
      Additional Descriptor
    
      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x01
       RAW dump:
       0x00 | 0x05, 0x24, 0x01, 0x00, 0x01
    
    
      Additional Descriptor
    
      bLength = 0x04
      bDescriptorType = 0x24
      bDescriptorSubType = 0x02
       RAW dump:
       0x00 | 0x04, 0x24, 0x02, 0x00
    
    
      Additional Descriptor
    
      bLength = 0x05
      bDescriptorType = 0x24
      bDescriptorSubType = 0x06
       RAW dump:
       0x00 | 0x05, 0x24, 0x06, 0x00, 0x01
    
    
     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x0081  <IN>
        bmAttributes = 0x0003  <INTERRUPT>
        wMaxPacketSize = 0x0008
        bInterval = 0x0009
        bRefresh = 0x0000
        bSynchAddress = 0x0000
    
    
    Interface 1
      bLength = 0x0009
      bDescriptorType = 0x0004
      bInterfaceNumber = 0x0001
      bAlternateSetting = 0x0000
      bNumEndpoints = 0x0002
      bInterfaceClass = 0x000a  <CDC-data>
      bInterfaceSubClass = 0x0000
      bInterfaceProtocol = 0x0000
      iInterface = 0x0006  <RNDIS Ethernet Data>
    
     Endpoint 0
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x008e  <IN>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000
    
     Endpoint 1
        bLength = 0x0007
        bDescriptorType = 0x0005
        bEndpointAddress = 0x000f  <OUT>
        bmAttributes = 0x0002  <BULK>
        wMaxPacketSize = 0x0200
        bInterval = 0x0000
        bRefresh = 0x0000
        bSynchAddress = 0x0000

  • Netgate Administrator

    @ginjaninja said in PfSense 2.4.4-RELEASE-p3 attempting to USB tether:

    I have edited the /boot/loader.conf file to include if_urndis

    You should put that in /boot/loader.conf.local to avoid it being overwritten. That isn't going to help it recognise the phone though.
    Anything logged when you connect the phone? It is trying and failing to use the driver?

    Steve



  • @stephenw10 Thanks for the reply. All dmesg shows is disconnect and connection of the phone. Nothing else error wise unless I should look elsewhere?


  • Netgate Administrator

    Hmm, nope. It seems like urndis just doesn't see it as an interesting device to attach to. Which is surprising since it clear has an RNDIS Ethernet interface.
    Not sure there's much we can do there though. Does it have more than one config index you could try?

    Steve



  • @stephenw10 thanks again. That sticks it would have been great to use this as a failover. No other config indexes available, but there are Bulk labeled Ethernet interface 1. But no index tied to it.

    Is there a supported list of working Android devices or perhaps the version of if_rndis.ko is wrong. I pulled it from the 11.2 64bit freebsd release. I see it running...


  • Netgate Administrator

    That's the correct version for 2.4.4p3. You could try a 2.5 snapshot and use the module from FreeBSD 12.

    Steve



  • Thanks i'll give it a shot.



  • On the hardware i'm installing this on, I consistently get a fatal tray 12 page fault during USB boot. I've tried all IMG and ISO options apart from serial.. I may have to pull back the attempts for now. Unless you have other options.


  • Netgate Administrator

    You could install 2.4.4p3 and upgrade if it won't boot the 2.5 installer.

    You could try forcing it to boot uefi or not uefi depending what it's booting as now.

    Steve



  • @stephenw10 thanks for the suggestion. The hardware I'm using (sophos UTM 110/120) firewall doesn't like PFS 2.5 period. After update I still get the same issue. Thanks, I'll attempt this on my Proxmox virtual environment as well. That's where the production PFS VM sits currently.


  • Netgate Administrator

    Hmm, curious. I'm not aware of any hardware that won't run 2.5.... yet.

    Do you have the backtrace or console output leading up to the panic?


Log in to reply