APU1D with LTE Huawei ME909u-521
-
I have also problem after reboot. I see no modem port :-( But after upgrade pfSense CE 2.3.3 and install new package.
pfSense-pkg-cellular-1.1.4 Voleatech Cellular Module Interface
LTE modem is ready. I Rebooted and Halted several times. FreeBSD kernel have some time problem with USB Device. Perhaps future problems will be solved new package pfSense-pkg-cellular.
-
I have also problem after reboot. I see no modem port :-( But after upgrade pfSense CE 2.3.3 and install new package.
pfSense-pkg-cellular-1.1.4 Voleatech Cellular Module Interface
LTE modem is ready. I Rebooted and Halted several times. FreeBSD kernel have some time problem with USB Device. Perhaps future problems will be solved new package pfSense-pkg-cellular.
Same behavior!
Whats happen? -
I'd had quite a bit of experience with the 521 and 523 modules here are my experiences with it:
First off the device will appear cuaUX in the /dev/ directory. (where X is any number between 0-9)
The ports that you want are as follows:
/dev/cuaUX.0 –--- this is the port you use to create the ppp tunnel over. Once ppp is UP you can't connect to this port.
/dev/cuaUX.2 ----- this is a serial port to allow you to use AT commands to check the connection while the ppp is up. You can access this port with tip and /etc/remotes1. Buried in the documentation for the modules is a note that you must provide 14 seconds of power to the module before you attempt to load drivers for it. So I added a 20 second delay to loader.conf.
2. If you pull the power to the device while the module is still registered to the network when you reboot the device won't come up with the driver. The only to fix this is to perform a usb bus reset. WARNING if you do this on a Netgate 2200 or 2400 you will crash the system if you are running pfSense from the onboard memory, I used a separate SSD on those devices to avoid that issue.
3. If you are connected with a PPP session and you disable the radio in the GUI and then try to re-enable it you will see lots of errors in the logs looking like this:
Mar 20 17:52:44 100300020 ppp: [opt2_link0] CHAT: The modem is not responding to "AT" at ModemCmd: label.
Mar 20 17:52:44 100300020 ppp: [opt2_link0] MODEM: chat script failed
This is because the modem is unresponsive on the cuaUX.0 port, you can still chat to it via the cuaUX.2 port. In this circumstance I use the following commands on the cuaUX.2 port:
AT+FUN=4 (this tells the device to go offline)
AT+FUN=6 ( this tells the device to restart)This gets it back HOWEVER it gets recognized as a new cuaUX port not the old one. I got around this by hacking devd.
4. Init strings aren't globally compatible, I have these modules deployed in USA, Ireland and the UK and have had to modify the mpd.script files for each country.
In my humble opinion, if you're not experienced with AT commands and how cellular works and aren't confident with messing around with pfsense source files then stay away from these modules and buy a cradle-point instead and plug the ethernet interface of that into one of the ethernet ports on your device.
-
1. Buried in the documentation for the modules is a note that you must provide 14 seconds of power to the module before you attempt to load drivers for it. So I added a 20 second delay to loader.conf.
how did you do?
now i have create this script:```
#!/bin/sh
usbconfig -u 1 resetthat reset the card but the pppoe is going up for 3-4 seconds and turn down.. :o
-
Change to loader.conf:
loader_delay="20"
If your ppp goes up and down you need to look at the log , check what stage its stopping at
clog -f /var/log/ppp.log
-
Change to loader.conf:
loader_delay="20"
If your ppp goes up and down you need to look at the log , check what stage its stopping at
clog -f /var/log/ppp.log
I try with 40 sec and now work properly!!!
Thank you -
ME909u-521 works for me out the box on pfSense 2.3.4 with an Alix 6f, I didnt assign the ue0 to anything, I just created a ppp0 entry for /dev/cuaU0.2 and I assigned ppp0 to OPT1, however like others I suffer the warm boot symptoms
Slam.
-
This gets it back HOWEVER it gets recognized as a new cuaUX port not the old one. I got around this by hacking devd.
Can you please tell me what you modified and which file /etc/pfSense-devd.conf?
I am now facing this problem, where the modem resets itself and attatches to different port straight away, so I end up with device not found /dev/cuaU0.0 and instead ls /dev gives me cuaU1.0
Thanks in advance
-
I modified:
/etc/devd.conf
**** WARNING you're not meant to change this file an upgrade will/may overwrite it. *********
Then I added the code at the bottom:
radios
attach 1000 {
match "vendor" "0x12d1";
match "product" "0x1573";
action "/usr/local/bin/php my own script T:ATTACH D:$device-name I:$inter
face P:$port A:$parent";
};
notify 1000 {
match "vendor" "0x12d1";
match "product" "0x1573";
match "type" "DETACH";
match "port" "[0-9]";
action "/usr/local/bin/php my own script T:DETACH D:$device-name I:$inter
face P:$port A:$parent";
};So you'll need to write your own script (mine has a load of extra non related functionality) but the guideline of what you have to do is as follows:
On the ATTACH event you get a value for $device-name of something like: u3g0
You need to map that back to the correct cuaUX interface so I did this: (there may be a better or quicker way)
/sbin/sysctl -n dev.u3g.0.ttyname <== notice the location of the zero thats the last value of the $device-name u3g0
This gives you the value of the cua port e.g. I get:
U0so my modem is on cuaU0.
Then create a symlink from /dev/cuaU0.0 ==> to /dev/radio.data
Don't format to map the serial port for diagnostics too:
Then create a symlink from /dev/cuaU0.0 ==> to /dev/radio.mgmtThen you'll need to get the GUI file to allow you to select the radio.data interface.
/usr/local/www/interfaces_pps_edit.php <== **** WARNING you're not meant to change this file an upgrade will/may overwrite it. *********
change the line around line: 523 from:
$serialports = glob("/dev/cua[a-zA-Z][0-9]{,.[0-9],.[0-9][0-9],[0-9],[0-9].[0-9],[0-9].[0-9][0-9]}", GLOB_BRACE);to:
$serialports = glob("/dev/radio.data", GLOB_BRACE);I hope that helps.
As an aside I must think about a package for Huawei modems.
-
Huawei are ending the models:
Huawei ME909u-521
Huawei ME909u-523Most suppliers will not be able to get them after the 31st December 2017, so if you're looking to deploy a few sites you'll need to look at another cellular modem.