Adding 3g new modem - simple Q's

  • I'm trying to add a new 3g usb modem (Huawei k4505) to pfSense 2 but I'm having errors.

    I get these errors when I plug in the 3g modem:
    uhub_reattach_port: port 1 reset failed, error=USB_ERR_TIMEOUT
    uhub_reattach_port: device problem (USB_ERR_TIMEOUT), disabling port 1

    I built pfSense 2 from scratch using the devwiki - DevelopersBootStrapAndDevIso guide

    These are the steps I used

    installed freebsd 8.1 with all sources then built pfSense as follows

    echo "WITHOUT_X11=yo" >> /etc/make.conf
    echo "BATCH=yo" >> /etc/make.conf
    mkdir -p /home/pfsense/pfSenseGITREPO /usr/pfSensesrc
    portsnap fetch extract 
    cd /usr/ports/textproc/expat2 && make depends install
    cd /usr/ports/devel/git && make depends install
    cd /usr/ports/sysutils/fastest_cvsup/ && make depends install
    cd /home/pfsense && git clone git:// tools
    cd /home/pfsense && git clone freesbie2
    cd /home/pfsense/tools/builder_scripts && chmod a+rx *.sh
    csup -h `fastest_cvsup -c tld -q` /usr/share/examples/cvsup/standard-supfile

    I then used the ./ to Set Version to RELENG_8_1, Apply patches, Rebuild BSDInstaller
    after all that I added these two lines


    to /usr/pfSensesrc/src/sys/dev/usb/serial/u3g.c &

    product HUAWEI K4505		0x1464	3G modem

    to /usr/pfSensesrc/src/sys/dev/usb/usbdevs &

    and finally which gave me a working copy of pfSense 2 but still can't get it to recognise the 3g modem.

    Please help where am I going wrong? I've tried googling and trying a few things but nothing works.
    Have I done things in the wrong order or missed something?
    (I'm new to freebsd/linux and love pfsense).

    thank you.

  • Netgate Administrator


    (I'm new to freebsd/linux and love pfsense).

    Really! You seem to be doing some pretty advanced stuff. Correctly.
    Are you running this in a virtual environment by any chance?
    This USB error is not FreeBSD not recognising the product but rather something more fundamental.
    I have seen it before when running virtual.


  • Thanks Steve.
    You've guessed right on both counts.
    I'm running it under virtualbox. When I use an E220 or E1762 it works but not the K4505. its got me stumped.
    I might try loading it as a module. Is it the /boot/loader.conf file in freebsd8.1 I should be editing, and which on for pfsense2?
    or maybe I should install it on bare metal and see what happens.

    yes I'm new to linux but played with unix some 20yrs ago in uni.

  • Netgate Administrator


    I might try loading it as a module. Is it the /boot/loader.conf file in freebsd8.1 I should be editing, and which on for pfsense2?

    Yes, though my own experience is limited. In pfSense you can create a file /boot/loader.conf.local, this will override anything in loader.conf and gets copied across a firmware update.

    Have you seen this?


  • Thanks Steve. You're right again.
    I installed it to bare metal and now it recognised my k4505, however only cua0 shows up not cua0.0 or cua0.x etc

    Not sure what to do next?

    I also disabled the USB ehci on Virtualbox and it too now 1/2 works. It sees the k4505 as mass storage only.
    I need to switch it to modem mode.

    So I read up on USB_ModeSwitch (
    It says to download usb-modeswitch-1.1.8.tar.bz2 & usb-modeswitch-data & I'll need libusb and then install.
    Any tips on where I should save and install it?

  • Netgate Administrator

    Usb_modeswitch is a Linux utility. u3g is the bsd equivalent, though it doesn't support as many modems.
    If you are seeing cua0 when you plug in the modem then it is correctly switched to modem type device. Try sending it some AT commands and see what happens. pfSense has a program for talking to modems terminal style, like minicom, but for the life of me I can't remember what it's called!  ::)


    Edit: Found it: tip