Automatic Activation, Hotplug and UDEV, Configuration
Post Reply
beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 01 Aug 2015, 18:04

Hi everyone,

I'm looking for a solution to get this module working on pfSense 2.2.4 which is based on FreeBSD 10.1:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: uname -a
FreeBSD pfSense 10.1-RELEASE-p15 FreeBSD 10.1-RELEASE-p15 #0 c5ab052(releng/10.1)-dirty: Sat Jul 25 20:20:58 CDT 2015     root@pfs22-amd64-builder:/usr/obj.amd64/usr/pfSensesrc/src/sys/pfSense_SMP.10  amd64
[2.2.4-RELEASE][admin@pfSense]/root: 
I tried the following config file:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: cat 12d1:1573 
DefaultVendor=  0x12d1 
DefaultProduct= 0x1573 

TargetVendor=      0x12d1
TargetProductList= "1001,1406,140b,140c,1412,141b,1433,14ac"

CheckSuccess=20

HuaweiNewMode=1
NeedResponse=0
MessageEndpoint = 0x05 
MessageContent = "55534243123456780000000000000011062000000100000000000000000000"
[2.2.4-RELEASE][admin@pfSense]/root:
Here is the result:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: usb_modeswitch -c 12d1:1573
Look for target devices ...
 No devices in target mode or class found
Look for default devices ...
   product ID matched
 Found devices in default mode (1)
Access device 002 on bus 001
Current configuration number is 1
Use interface number 0
Error: response endpoint not given or found. Abort

[2.2.4-RELEASE][admin@pfSense]/root: 
As you can see, it's not working...

I'm using usb_modeswitch 2.2.0:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: usb_modeswitch --version

 * usb_modeswitch: handle USB devices with multiple modes
 * Version 2.2.0 (C) Josua Dietze 2014
 * Based on libusb1/libusbx

 ! PLEASE REPORT NEW CONFIGURATIONS !

[2.2.4-RELEASE][admin@pfSense]/root:
Just for information, here is the dmesg on Ubuntu 15.04
@ubuntu:~$ dmesg | grep -i "usb 1-2"
[ 3.029495] usb 1-2: new high-speed USB device number 2 using ehci-pci
[ 3.189951] usb 1-2: New USB device found, idVendor=12d1, idProduct=1573
[ 3.196715] usb 1-2: New USB device strings: Mfr=2, Product=3, SerialNumber=4
[ 3.203884] usb 1-2: Product: HUAWEI Mobile
[ 3.208093] usb 1-2: Manufacturer: HUAWEI Technology
[ 3.213084] usb 1-2: SerialNumber: 0123456789ABCDEF
[ 10.286304] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0
[ 10.286800] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1
[ 10.290253] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2
[ 10.290622] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB3
@ubuntu:~$
Any advise please ?

Thank you in advance
Last edited by beeloo on 01 Aug 2015, 23:28, edited 1 time in total.

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 01 Aug 2015, 19:09

I forgot to give you the dmesg informations about the Huawei:

Code: Select all

ugen1.2: <HUAWEI Technology> at usbus1
cdce0: <CDC Ethernet Control Model ECM> on usbus1
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 00:xx:xx:xx:xx:xx

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by Josh » 01 Aug 2015, 22:28

What happens if you remove the "MessageEndpoint" line entirely?

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 01 Aug 2015, 23:28

Here is the result:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: cat 12d1:1573
DefaultVendor=  0x12d1 
DefaultProduct= 0x1573 

TargetVendor=      0x12d1
TargetProductList= "1001,1406,140b,140c,1412,141b,1433,14ac"

CheckSuccess=20

HuaweiNewMode=1
NeedResponse=0
MessageContent = "55534243123456780000000000000011062000000100000000000000000000"
[2.2.4-RELEASE][admin@pfSense]/root: usb_modeswitch -c 12d1:1573
Look for target devices ...
 No devices in target mode or class found
Look for default devices ...
   product ID matched
 Found devices in default mode (1)
Access device 002 on bus 001
Current configuration number is 1
Use interface number 0
Error: message endpoint not given or found. Abort

[2.2.4-RELEASE][admin@pfSense]/root:

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 02 Aug 2015, 00:45

Actually, ue0, an Ethernet interface is appearing on FreeBSD:

Code: Select all

umass0: <Generic Flash Card ReaderWriter, class 0/0, rev 2.01/1.00, addr 2> on usbus6
ugen1.2: <HUAWEI Technology> at usbus1
cdce0: <CDC Ethernet Control Model ECM> on usbus1
ue0: <USB Ethernet> on cdce0
ue0: Ethernet address: 00:1e:10:1f:00:00

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by Josh » 02 Aug 2015, 00:48

It may be that the libusb version on your system does not allow to determine the endpoints of an interface ...

Do you have the "lsusb" command? If yes, run "lsusb -v -d 12d1:1573" and post the output.

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 02 Aug 2015, 00:49

Here it is:

Code: Select all

[2.2.4-RELEASE][admin@pfSense]/root: lsusb -v -d 12d1:1573

Bus /dev/usb Device /dev/ugen1.2: ID 12d1:1573 Huawei Technologies Co., Ltd. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          254 Application Specific Interface
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x12d1 Huawei Technologies Co., Ltd.
  idProduct          0x1573 
  bcdDevice            2.28
  iManufacturer           2 HUAWEI Technology
  iProduct                3 HUAWEI Mobile
  iSerial                 4 0123456789ABCDEF
  bNumConfigurations      2
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          250
    bNumInterfaces          6
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      6 Ethernet Networking
      bInterfaceProtocol      0 
      iInterface              5 CDC Ethernet Control Model (ECM)
      CDC Header:
        bcdCDC               1.10
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 
      CDC Ethernet:
        iMacAddress                      7 001E101F0000
        bmEthernetStatistics    0x00000000
        wMaxSegmentSize               1514
        wNumberMCFilters            0x0000
        bNumberPowerFilters              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0010  1x 16 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              6 CDC Ethernet Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      1 
      iInterface             49 HUAWEI Mobile Connect - Modem
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      3 
      iInterface             51 HUAWEI Mobile Connect - Application Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x03  EP 3 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      2 
      iInterface             50 HUAWEI Mobile Connect - PC UI Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x86  EP 6 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x04  EP 4 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             77 HUAWEI Mobile Connect - GPS Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x89  EP 9 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          131
    bNumInterfaces          3
    bConfigurationValue     2
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              500mA
    Interface Association:
      bLength                 8
      bDescriptorType        11
      bFirstInterface         0
      bInterfaceCount         2
      bFunctionClass          2 Communications
      bFunctionSubClass      14 
      bFunctionProtocol       0 
      iFunction               0 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass     14 
      bInterfaceProtocol      0 
      iInterface             56 HUAWEI Mobile Broadband Module
      CDC Header:
        bcdCDC               1.10
      UNRECOGNIZED CDC:  0c 24 1b 00 01 00 10 10 80 dc 05 20
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               9
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface             10 MBIM Data
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       1
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      2 
      iInterface             10 MBIM Data
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      1 
      bInterfaceProtocol      5 
      iInterface             77 HUAWEI Mobile Connect - GPS Interface
      ** UNRECOGNIZED:  05 24 00 10 01
      ** UNRECOGNIZED:  05 24 01 00 00
      ** UNRECOGNIZED:  04 24 02 02
      ** UNRECOGNIZED:  05 24 06 00 00
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000a  1x 10 bytes
        bInterval               9
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          254 Application Specific Interface
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      2
can't get debug descriptor: Input/output error
Device Status:     0x0000
  (Bus Powered)
[2.2.4-RELEASE][admin@pfSense]/root: 

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by LOM » 02 Aug 2015, 01:49

This module does not have an install mode so doesn't need modeswitching.

The module has 2 configurations to choose between, config #1 has usb interfaces for dial-up modem (ppp) , direct ethernet adapter (cdc_ether), and gps/gnss.
Config #2 has usb interfaces for direct ethernet adapter (cdc_mbim) and gps/gnss.

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 02 Aug 2015, 11:30

LOM wrote:This module does not have an install mode so doesn't need modeswitching.

The module has 2 configurations to choose between, config #1 has usb interfaces for dial-up modem (ppp) , direct ethernet adapter (cdc_ether), and gps/gnss.
Config #2 has usb interfaces for direct ethernet adapter (cdc_mbim) and gps/gnss.
Alright.
I cannot find any other serial port than my APU1D's mother board ports.

Code: Select all

[2.2.4-RELEASE][root@pfSense]/root: ls /dev/
acpi       ada0s1     bpf        cuau0.init devctl     gpioapu    label      null       pts        stdout     ttyu1.init ugen0.1    ugen5.1    xpt0
ad4        ada0s1a    bpf0       cuau0.lock devstat    io         md0        pass0      random     sysmouse   ttyu1.lock ugen1.1    ugen6.1    zero
ad4s1      ada0s1b    console    cuau1      dumpdev    kbd0       mdctl      pass1      sndstat    ttyu0      tun1       ugen1.2    ugen6.2
ad4s1a     apm        crypto     cuau1.init fd         kbdmux0    mem        pci        speaker    ttyu0.init tun2       ugen2.1    urandom
ad4s1b     apmctl     ctty       cuau1.lock fido       klog       midistat   pf         stderr     ttyu0.lock ufsid      ugen3.1    usb
ada0       audit      cuau0      da0        geom.ctl   kmem       nfslock    ptmx       stdin      ttyu1      ufssuspend ugen4.1    usbctl
[2.2.4-RELEASE][root@pfSense]/root::
Do you have any idea on how to switch between configurations ?

Thank you

LOM
Posts: 1404
Joined: 11 Jul 2012, 15:14
Location: Koh Samui, TH

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by LOM » 02 Aug 2015, 13:07

beeloo wrote:
LOM wrote:This module does not have an install mode so doesn't need modeswitching.

The module has 2 configurations to choose between, config #1 has usb interfaces for dial-up modem (ppp) , direct ethernet adapter (cdc_ether), and gps/gnss.
Config #2 has usb interfaces for direct ethernet adapter (cdc_mbim) and gps/gnss.
Alright.
I cannot find any other serial port than my APU1D's mother board ports.
You need to load a serial driver with support for the modules usb id and its interface attributes (Class, SubClass, Protocol) in order to get serial port devices in your system.

beeloo wrote: Do you have any idea on how to switch between configurations ?
In linux by writing to bConfigurationValue for the usb port where the module is connected, ie

echo 2 >/sys/bus/usb/devices/<usbportname>/bConfigurationValue for configuration #2.
<usbportname> is 1-2 in your Ubuntu dmesg.
How to do it in FreeBSD is something you have to find out by yourself but it may not even be needed.

Linux will usually default to config #1 except in the case of all interfaces in config #1 is of "vendor specific" type (Class = 255, unknown type) while config #2 has known class interfaces. In such case config #2 will be the default config.
I have no idea about how FreeBSD selects the default config initially.

You can see from your Ubuntu dmesg that 4 ttyUSB devices has been created so the active config is #1 and Ubuntu has a serial driver (option.ko) which has support for the module.
The module should had worked in Ubuntu either as a direct ethernet device or as a ppp dial-up modem.

Interface assignment for ME909u-521:

Cfg#1
MI_00/01 HUAWEI Mobile Connect - Network Card (cdc_ether)
MI_02 HUAWEI Mobile Connect - Modem
MI_03 HUAWEI Mobile Connect - Application Interface
MI_04 HUAWEI Mobile Connect - PC UI Interface
MI_05 HUAWEI Mobile Connect - GPS Interface

Cfg#2
MI_00/01 HUAWEI Mobile Connect - Network Card (cdc_mbim)
MI_02 HUAWEI Mobile Connect - GPS Interface

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 03 Aug 2015, 01:59

Well, I found out how to change mode on FreeBSD:

Code: Select all

usbconfig -d 1.2 set_config 0 # 0 or 1 for 1 or 2
I'll keep using mode 1, like Ubuntu does.

I'm currently working on building a new kernel following this page:
http://technotation.com/2012/08/15/free ... broadband/

Thank you for your help, I'll try to keep you informed of the result.

Cheers

beeloo
Posts: 8
Joined: 01 Aug 2015, 17:45

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by beeloo » 03 Aug 2015, 13:44

So I solved my issue by recompiling the FreeBSD/pfSense kernel.

See that post for more details:
https://forum.pfsense.org/index.php?top ... #msg543091

If there was a better solution with usb_modeswitch or whatever by changing the product ID by an other one, It would be much easier.

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by Josh » 03 Aug 2015, 15:39

There is nothing usb_modeswitch can do with respect to the USB IDs. This is entirely up to the firmware of the modem.

You can change the configuration value with usb_modeswitch too. Edit your config file:

Code: Select all

DefaultVendor=  0x12d1
DefaultProduct= 0x1573

Configuration=1
You should use version 2.2.5 of usb_modeswitch though. There is a bug regarding the configuration check in previous versions.

Josh
Site Admin
Posts: 6593
Joined: 03 Nov 2007, 00:30

Re: Huawei ME909u-521 on FreeBSD (pfSense 2.2.4)

Post by Josh » 27 Oct 2015, 22:14

Addendum:

With Linux' udev mechanics, usb_modeswitch's Huawei catch-all rule will not trigger for this device because interface 0 is not of storage class. So there has to be an exception, an additional dedicated rule line in the "rules" file.

This will go into the next data package release.

Post Reply