APU1D with LTE Huawei ME909u-521
-
What did you upgrade from? It's hard to believe that an upgrade would have caused that unless it was a major version perhaps.
Check the boot log in /var/log/dmesg.boot (or just the system log if it hasn't been up long) for messages from the ports.
Steve
I upgrade my APU2 to 2.3.3 version from 2.2.x.
This is dmsg:0 usbus1: EHCI version 1.0 usbus1 on ehci0 isab0: <pci-isa bridge=""> at device 20.3 on pci0 isa0: <isa bus=""> on isab0 sdhci_pci0: <generic sd="" hci=""> mem 0xfeb25500-0xfeb255ff at device 20.7 on pci0 sdhci_pci0: 1 slot(s) allocated uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: console (115200,n,8,1) orm0: <isa option="" roms=""> at iomem 0xc0000-0xc0fff,0xef000-0xeffff on isa0 ppc0: cannot reserve I/O port range uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0 hwpstate0: <cool`n'quiet 2.0=""> on cpu0 Timecounters tick every 1.000 msec random: unblocking device. usbus0: 5.0Gbps Super Speed USB v3.0 usbus1: 480Mbps High Speed USB v2.0 ugen0.1: <0x1022> at usbus0 uhub0: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0 ugen1.1: <amd> at usbus1 uhub1: <amd 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr=""> on usbus1 uhub0: 4 ports with 4 removable, self powered uhub1: 2 ports with 2 removable, self powered ugen1.2: <vendor 0x0438=""> at usbus1 uhub2: <vendor 2="" 9="" 0x0438="" product="" 0x7900,="" class="" 0,="" rev="" 2.00="" 0.18,="" addr=""> on usbus1 uhub2: 4 ports with 4 removable, self powered ugen1.3: <unknown> at usbus1 (disconnected) ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <sata ssd="" s9fm02.9=""> ACS-3 ATA SATA 3.x device ada0: Serial Number xxxxxxxxxxxxxxxxx ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 15272MB (31277232 512 byte sectors) ada0: Previously was known as ad4 SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! Timecounter "TSC" frequency 998150474 Hz quality 1000 Trying to mount root from ufs:/dev/ufsid/56dcd2d752377281 [rw]... ng0: changing name to 'ppp0' igb0: link state changed to UP igb2: link state changed to UP pflog0: promiscuous mode enabled ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' uhub2: at uhub1, port 1, addr 2 (disconnected) uhub0: at usbus0, port 1, addr 1 (disconnected) Copyright (c) 1992-2016 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.3-RELEASE-p16 #9 d88504507(RELENG_2_3_3): Wed Feb 15 11:30:33 CST 2017 root@ce23-amd64-builder:/builder/pfsense-233/tmp/obj/builder/pfsense-233/tmp/FreeBSD-src/sys/pfSense amd64 FreeBSD clang version 3.4.1 (tags/RELEASE_34/dot1-final 208032) 20140512 CPU: AMD GX-412TC SOC (998.15-MHz K8-class CPU) Origin="AuthenticAMD" Id=0x730f01 Family=0x16 Model=0x30 Stepping=1 Features=0x178bfbff <fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,mmx,fxsr,sse,sse2,htt>Features2=0x3ed8220b <sse3,pclmulqdq,mon,ssse3,cx16,sse4.1,sse4.2,movbe,popcnt,aesni,xsave,osxsave,avx,f16c>AMD Features=0x2e500800 <syscall,nx,mmx+,ffxsr,page1gb,rdtscp,lm>AMD Features2=0x1d4037ff <lahf,cmp,svm,extapic,cr8,abm,sse4a,mas,prefetch,osvw,ibs,skinit,wdt,topology,pnxc,dbe,ptsc,pl2i>Structured Extended Features=0x8 <bmi1>XSAVE Features=0x1 <xsaveopt>SVM: NP,NRIP,AFlush,DAssist,NAsids=8 TSC: P-state invariant, performance statistics real memory = 4815060992 (4592 MB) avail memory = 4088705024 (3899 MB) Event timer "LAPIC" quality 400 ACPI APIC Table: <core coreboot=""> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs FreeBSD/SMP: 1 package(s) x 4 core(s) cpu0 (BSP): APIC ID: 0 cpu1 (AP): APIC ID: 1 cpu2 (AP): APIC ID: 2 cpu3 (AP): APIC ID: 3 random: <software, yarrow=""> initialized ioapic1: Changing APIC ID to 5 ioapic0 <version 2.1=""> irqs 0-23 on motherboard ioapic1 <version 2.1=""> irqs 24-55 on motherboard wlan: mac acl policy registered ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_bss_fw, 0xffffffff80620930, 0) error 1 ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_ibss_fw, 0xffffffff806209e0, 0) error 1 ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_monitor_fw, 0xffffffff80620a90, 0) error 1 iwi_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/. iwi_bss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_bss_fw, 0xffffffff80647c30, 0) error 1 iwi_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/. iwi_ibss: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_ibss_fw, 0xffffffff80647ce0, 0) error 1 iwi_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_iwi/. iwi_monitor: If you agree with the license, set legal.intel_iwi.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (iwi_monitor_fw, 0xffffffff80647d90, 0) error 1 netmap: loaded module kbd0 at kbdmux0 module_register_init: MOD_LOAD (vesa, 0xffffffff81016c60, 0) error 19 cryptosoft0: <software crypto=""> on motherboard padlock0: No ACE support. acpi0: <core coreboot=""> on motherboard acpi0: Power Button (fixed) cpu0: <acpi cpu=""> on acpi0 cpu1: <acpi cpu=""> on acpi0 cpu2: <acpi cpu=""> on acpi0 cpu3: <acpi cpu=""> on acpi0 atrtc0: <at realtime="" clock=""> port 0x70-0x71 irq 8 on acpi0 Event timer "RTC" frequency 32768 Hz quality 0 attimer0: <at timer=""> port 0x40-0x43 irq 0 on acpi0 Timecounter "i8254" frequency 1193182 Hz quality 0 Event timer "i8254" frequency 1193182 Hz quality 100 Timecounter "ACPI-safe" frequency 3579545 Hz quality 850 acpi_timer0: <32-bit timer at 3.579545MHz> port 0x818-0x81b on acpi0 hpet0: <high precision="" event="" timer=""> iomem 0xfed00000-0xfed003ff on acpi0 Timecounter "HPET" frequency 14318180 Hz quality 950 acpi_button0: <power button=""> on acpi0 pcib0: <acpi host-pci="" bridge=""> port 0xcf8-0xcff on acpi0 pci0: <acpi pci="" bus=""> on pcib0 pcib1: <acpi pci-pci="" bridge=""> at device 2.2 on pci0 pcib1: failed to allocate initial I/O port window: 0x1000-0x1fff pci1: <acpi pci="" bus=""> on pcib1 igb0: <intel(r) 1000="" pro="" network="" connection,="" version="" -="" 2.5.3-k=""> mem 0xfe600000-0xfe61ffff,0xfe620000-0xfe623fff at device 0.0 on pci1 igb0: Using MSIX interrupts with 5 vectors igb0: Ethernet address: 00:0d:b9:43:4a:3c igb0: Bound queue 0 to cpu 0 igb0: Bound queue 1 to cpu 1 igb0: Bound queue 2 to cpu 2 igb0: Bound queue 3 to cpu 3 igb0: netmap queues/slots: TX 4/1024, RX 4/1024 pcib2: <acpi pci-pci="" bridge=""> at device 2.3 on pci0 pci2: <acpi pci="" bus=""> on pcib2 igb1: <intel(r) 1000="" pro="" network="" connection,="" version="" -="" 2.5.3-k=""> port 0x2000-0x201f mem 0xfe700000-0xfe71ffff,0xfe720000-0xfe723fff at device 0.0 on pci2 igb1: Using MSIX interrupts with 5 vectors igb1: Ethernet address: 00:0d:b9:43:4a:3d igb1: Bound queue 0 to cpu 0 igb1: Bound queue 1 to cpu 1 igb1: Bound queue 2 to cpu 2 igb1: Bound queue 3 to cpu 3 igb1: netmap queues/slots: TX 4/1024, RX 4/1024 pcib3: <acpi pci-pci="" bridge=""> at device 2.4 on pci0 pci3: <acpi pci="" bus=""> on pcib3 igb2: <intel(r) 1000="" pro="" network="" connection,="" version="" -="" 2.5.3-k=""> port 0x3000-0x301f mem 0xfe800000-0xfe81ffff,0xfe820000-0xfe823fff at device 0.0 on pci3 igb2: Using MSIX interrupts with 5 vectors igb2: Ethernet address: 00:0d:b9:43:4a:3e igb2: Bound queue 0 to cpu 0 igb2: Bound queue 1 to cpu 1 igb2: Bound queue 2 to cpu 2 igb2: Bound queue 3 to cpu 3 igb2: netmap queues/slots: TX 4/1024, RX 4/1024 pci0: <encrypt decrypt=""> at device 8.0 (no driver attached) xhci0: <xhci (generic)="" usb="" 3.0="" controller=""> mem 0xfeb22000-0xfeb23fff at device 16.0 on pci0 xhci0: 32 bytes context size, 64-bit DMA usbus0 on xhci0 ahci0: <amd hudson-2="" ahci="" sata="" controller=""> port 0x4010-0x4017,0x4020-0x4023,0x4018-0x401f,0x4024-0x4027,0x4000-0x400f mem 0xfeb25000-0xfeb253ff at device 17.0 on pci0 ahci0: AHCI v1.30 with 2 6Gbps ports, Port Multiplier supported with FBS ahcich0: <ahci channel=""> at channel 0 on ahci0 ahcich1: <ahci channel=""> at channel 1 on ahci0 ehci0: <ehci (generic)="" usb="" 2.0="" controller=""> mem 0xfeb25400-0xfeb254ff at device 19.0 on pci0 usbus1: EHCI version 1.0 usbus1 on ehci0 isab0: <pci-isa bridge=""> at device 20.3 on pci0 isa0: <isa bus=""> on isab0 sdhci_pci0: <generic sd="" hci=""> mem 0xfeb25500-0xfeb255ff at device 20.7 on pci0 sdhci_pci0: 1 slot(s) allocated uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 uart0: console (115200,n,8,1) orm0: <isa option="" roms=""> at iomem 0xc0000-0xc0fff,0xef000-0xeffff on isa0 ppc0: cannot reserve I/O port range uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0 hwpstate0: <cool`n'quiet 2.0=""> on cpu0 Timecounters tick every 1.000 msec random: unblocking device. usbus0: 5.0Gbps Super Speed USB v3.0 usbus1: 480Mbps High Speed USB v2.0 ugen0.1: <0x1022> at usbus0 uhub0: <0x1022 XHCI root HUB, class 9/0, rev 3.00/1.00, addr 1> on usbus0 ugen1.1: <amd> at usbus1 uhub1: <amd 1="" 9="" ehci="" root="" hub,="" class="" 0,="" rev="" 2.00="" 1.00,="" addr=""> on usbus1 uhub0: 4 ports with 4 removable, self powered uhub1: 2 ports with 2 removable, self powered ugen1.2: <vendor 0x0438=""> at usbus1 uhub2: <vendor 2="" 9="" 0x0438="" product="" 0x7900,="" class="" 0,="" rev="" 2.00="" 0.18,="" addr=""> on usbus1 uhub2: 4 ports with 4 removable, self powered ugen1.3: <unknown> at usbus1 (disconnected) ada0 at ahcich0 bus 0 scbus0 target 0 lun 0 ada0: <sata ssd="" s9fm02.9=""> ACS-3 ATA SATA 3.x device ada0: Serial Number Xxxxxxxxxxxxxxx ada0: 600.000MB/s transfers (SATA 3.x, UDMA6, PIO 8192bytes) ada0: Command Queueing enabled ada0: 15272MB (31277232 512 byte sectors) ada0: Previously was known as ad4 SMP: AP CPU #1 Launched! SMP: AP CPU #3 Launched! SMP: AP CPU #2 Launched! Timecounter "TSC" frequency 998150474 Hz quality 1000 Trying to mount root from ufs:/dev/ufsid/56dcd2d752377281 [rw]... ng0: changing name to 'ppp0' igb0: link state changed to UP igb2: link state changed to UP pflog0: promiscuous mode enabled ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' ng0: changing name to 'ppp0' uhub2: at uhub1, port 1, addr 2 (disconnected) uhub0: at usbus0, port 1, addr 1 (disconnected)</sata></unknown></vendor></vendor></amd></amd></cool`n'quiet></isa></generic></isa></pci-isa></ehci></ahci></ahci></amd></xhci></encrypt></intel(r)></acpi></acpi></intel(r)></acpi></acpi></intel(r)></acpi></acpi></acpi></acpi></power></high></at></at></acpi></acpi></acpi></acpi></core></software></version></version></software,></core ></xsaveopt></bmi1></lahf,cmp,svm,extapic,cr8,abm,sse4a,mas,prefetch,osvw,ibs,skinit,wdt,topology,pnxc,dbe,ptsc,pl2i></syscall,nx,mmx+,ffxsr,page1gb,rdtscp,lm></sse3,pclmulqdq,mon,ssse3,cx16,sse4.1,sse4.2,movbe,popcnt,aesni,xsave,osxsave,avx,f16c></fpu,vme,de,pse,tsc,msr,pae,mce,cx8,apic,sep,mtrr,pge,mca,cmov,pat,pse36,clflush,mmx,fxsr,sse,sse2,htt></sata></unknown></vendor></vendor></amd></amd></cool`n'quiet></isa></generic></isa></pci-isa>
-
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.