Jump to content

Recommended Posts

The list of compatible modems hasn't been updated since September 2014 on http://wiki.wifipineapple.com/#!compatible_modems.mdand I would like to buy the new LTE/4G Netgear AirCard 790 or 785 that got good reviews. I found their product info manual online ( http://www.produktinfo.conrad.com/datenblaetter/1300000-1399999/001339573-an-01-en-NETGEAR_AIRCARD_785_LTE_HOTSPOT.pdf ) and it says that it does support USB tethering as well, but does however need to install drivers the first time connecting to a new computer. Will it work with the NANO or should I buy something else? The Samsung Mobile Hotspot seems to be for Sprint only and can't find it in my country... What are you guys using except your Android smartphones?

Link to post
Share on other sites
  • 2 weeks later...

Hi,

I've been testing out various dongles for use with the Nano, and an old Huawei E303 USB modem seems to be recognised.

The modem automatically adds eth1 and assigns itself 192.168.1.100, with 192.168.1.1 as the gateway.

I've attempted to change this to be the default gateway via the networking tab in the Nano, which finds and lists eth1 in the interface dropdown, so is a viable option to be added via the management console. I've changed the default route to be 192.168.1.1 on eth1, so theoretically all traffic from either 192.168.1.0/24 and 172.16.42.0/24 should be using the modem as the gateway. However, clients connected to the AP can't get internet access.

Any ideas what else I'd need to change to get this to work?

Have verified it works with no configuration changes on a debian box which adds the same host/gateway ip's. Simply plugs and plays.

Any help appreciated.

Link to post
Share on other sites

This is from stock 1.0.3 firmware, after the dongle's been inserted and has a connection to the mobile provider.

Nothing in network, but eth1 is listed and is up and available.

root@pineapple:/etc/config# cat firewall
========================================================================
config defaults
    option syn_flood    1
    option input        ACCEPT
    option output        ACCEPT
    option forward        ACCEPT
# Uncomment this line to disable ipv6 rules
#    option disable_ipv6    1

config zone
    option name        lan
    list   network        'lan'
    option input        ACCEPT
    option output        ACCEPT
    option forward        ACCEPT

config zone
    option name        wan
    list   network        'wan'
    list   network        'wan6'
    option input        ACCEPT
    option output        ACCEPT
    option forward        ACCEPT
    option masq        1
    option mtu_fix        1

config zone
    option name        usb
    list   network        'usb'
    option input        ACCEPT
    option output        ACCEPT
    option forward        ACCEPT
    option masq        1
    option mtu_fix        1

config forwarding
    option src        lan
    option dest        wan

config forwarding
    option src        wan
    option dest        lan

config forwarding
    option src        lan
    option dest        usb

config forwarding
    option src        usb
    option dest        lan

# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
    option name        Allow-DHCP-Renew
    option src        wan
    option proto        udp
    option dest_port    68
    option target        ACCEPT
    option family        ipv4

# Allow IPv4 ping
config rule
    option name        Allow-Ping
    option src        wan
    option proto        icmp
    option icmp_type    echo-request
    option family        ipv4
    option target        ACCEPT

config rule
    option name        Allow-IGMP
    option src        wan
    option proto        igmp
    option family        ipv4
    option target        ACCEPT

# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
config rule
    option name        Allow-DHCPv6
    option src        wan
    option proto        udp
    option src_ip        fe80::/10
    option src_port        547
    option dest_ip        fe80::/10
    option dest_port    546
    option family        ipv6
    option target        ACCEPT

config rule
    option name        Allow-MLD
    option src        wan
    option proto        icmp
    option src_ip        fe80::/10
    list icmp_type        '130/0'
    list icmp_type        '131/0'
    list icmp_type        '132/0'
    list icmp_type        '143/0'
    option family        ipv6
    option target        ACCEPT

# Allow essential incoming IPv6 ICMP traffic
config rule
    option name        Allow-ICMPv6-Input
    option src        wan
    option proto    icmp
    list icmp_type        echo-request
    list icmp_type        echo-reply
    list icmp_type        destination-unreachable
    list icmp_type        packet-too-big
    list icmp_type        time-exceeded
    list icmp_type        bad-header
    list icmp_type        unknown-header-type
    list icmp_type        router-solicitation
    list icmp_type        neighbour-solicitation
    list icmp_type        router-advertisement
    list icmp_type        neighbour-advertisement
    option limit        1000/sec
    option family        ipv6
    option target        ACCEPT

# Allow essential forwarded IPv6 ICMP traffic
config rule
    option name        Allow-ICMPv6-Forward
    option src        wan
    option dest        *
    option proto        icmp
    list icmp_type        echo-request
    list icmp_type        echo-reply
    list icmp_type        destination-unreachable
    list icmp_type        packet-too-big
    list icmp_type        time-exceeded
    list icmp_type        bad-header
    list icmp_type        unknown-header-type
    option limit        1000/sec
    option family        ipv6
    option target        ACCEPT

# include a file with users custom iptables rules
config include
    option path /etc/firewall.user


### EXAMPLE CONFIG SECTIONS
# do not allow a specific ip to access wan
#config rule
#    option src        lan
#    option src_ip    192.168.45.2
#    option dest        wan
#    option proto    tcp
#    option target    REJECT

# block a specific mac on wan
#config rule
#    option dest        wan
#    option src_mac    00:11:22:33:44:66
#    option target    REJECT

# block incoming ICMP traffic on a zone
#config rule
#    option src        lan
#    option proto    ICMP
#    option target    DROP

# port redirect port coming in on wan to lan
#config redirect
#    option src            wan
#    option src_dport    80
#    option dest            lan
#    option dest_ip        192.168.16.235
#    option dest_port    80
#    option proto        tcp

# port redirect of remapped ssh port (22001) on wan
#config redirect
#    option src        wan
#    option src_dport    22001
#    option dest        lan
#    option dest_port    22
#    option proto        tcp

# allow IPsec/ESP and ISAKMP passthrough
config rule
    option src        wan
    option dest        lan
    option proto        esp
    option target        ACCEPT

config rule
    option src        wan
    option dest        lan
    option dest_port    500
    option proto        udp
    option target        ACCEPT

### FULL CONFIG SECTIONS
#config rule
#    option src        lan
#    option src_ip    192.168.45.2
#    option src_mac    00:11:22:33:44:55
#    option src_port    80
#    option dest        wan
#    option dest_ip    194.25.2.129
#    option dest_port    120
#    option proto    tcp
#    option target    REJECT

#config redirect
#    option src        lan
#    option src_ip    192.168.45.2
#    option src_mac    00:11:22:33:44:55
#    option src_port        1024
#    option src_dport    80
#    option dest_ip    194.25.2.129
#    option dest_port    120
#    option proto    tcp
========================================================================
root@pineapple:/etc/config# cat network
========================================================================
config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config interface 'lan'
    option ifname    'eth0'
    option type    'bridge'
    option proto    'static'
    option ipaddr    '172.16.42.1'
    option netmask    '255.255.255.0'
    option gateway    '172.16.42.42'
    option dns    '8.8.8.8, 8.8.4.4'

config interface 'usb'
    option ifname    'usb0'
    option proto    'dhcp'
    option dns    '8.8.8.8, 8.8.4.4'

config interface 'wan'
    option proto    'dhcp'
    option dns    '8.8.8.8, 8.8.4.4'
    
========================================================================
root@pineapple:/etc/config# ifconfig
========================================================================
br-lan    Link encap:Ethernet  HWaddr 00:C0:CA:8D:73:78  
          inet addr:172.16.42.1  Bcast:172.16.42.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:64 errors:0 dropped:6 overruns:0 frame:0
          TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:10851 (10.5 KiB)  TX bytes:5502 (5.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:C0:CA:8D:73:78  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1762 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1065 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:252209 (246.2 KiB)  TX bytes:416821 (407.0 KiB)
          Interrupt:4

eth1      Link encap:Ethernet  HWaddr 58:2C:80:13:92:63  
          inet addr:192.168.1.100  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3821 (3.7 KiB)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:203 errors:0 dropped:0 overruns:0 frame:0
          TX packets:203 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:13794 (13.4 KiB)  TX bytes:13794 (13.4 KiB)

wlan0     Link encap:Ethernet  HWaddr 00:C0:CA:8D:6F:78  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:4121 (4.0 KiB)

wlan0-1   Link encap:Ethernet  HWaddr 02:C0:CA:8D:6F:78  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:3615 (3.5 KiB)

wlan1     Link encap:Ethernet  HWaddr 00:C0:CA:8D:77:A7  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


Link to post
Share on other sites

I've had limited success with this using a 2013 Huawei E303. It's not 100% reliable. Sometimes doesn't detect the dongle on the first try, so unplug, then plug in again. YMMV.

nano /etc/hotplug.d/usb/40-supported-modems

# Support for HUAWEI HiLink
[[ $PRODUCT == "12d1/14db/102" ]] && {
  [[ $ACTION == "add" ]] && {
    ifconfig eth1 192.168.1.100 netmask 255.255.255.0 up
    route del default
    route add default gw 192.168.1.1 eth1
    iptables -t nat -A POSTROUTING -s 172.16.42.0/24 -o eth1 -j MASQUERADE
    iptables -A FORWARD -s 172.16.42.0/24 -o eth1 -j ACCEPT
    iptables -A FORWARD -d 172.16.42.0/24 -m state --state ESTABLISHED,RELATED -i eth1 -j ACCEPT
    logger Pineapple.modem:  HUAWEI HiLink Added
 } || {
    iptables -t nat -D POSTROUTING -s 172.16.42.0/24 -o eth1 -j MASQUERADE
    iptables -D FORWARD -s 172.16.42.0/24 -o eth1 -j ACCEPT
    iptables -D FORWARD -d 172.16.42.0/24 -m state --state ESTABLISHED,RELATED -i eth1 -j ACCEPT
    /etc/init.d/network restart
    logger Pineapple.modem:  HUAWEI HiLink Removed
  }
}

Link to post
Share on other sites

Sorry it took me a while to respond -- had to go out and get a new SIM card.

So what you'll want to do is add the following to two files:

/etc/config/network

config interface 'wan2'
	option ifname	'eth1'
	option proto	'dhcp'
	option dns	'8.8.8.8, 8.8.4.4'

/etc/config/firewall

config zone
	option name		wan2
	list   network		'wan2'
	option input		ACCEPT
	option output		ACCEPT
	option forward		ACCEPT
	option masq		1
	option mtu_fix		1

and

config forwarding
	option src		lan
	option dest		wan2

config forwarding
	option src		wan2
	option dest		lan

This only applies to 1.0.5 and earlier. We'll bake this into a future version.

For a longer explanation see:

https://www.youtube.com/watch?v=B2MK50416Lo

These are the same settings you would use for a USB Ethernet adapter over DHCP. I've seen one or two managed USB modems that don't dole out IP addresses by DHCP so you may need to add static info to your /etc/config/network file.

Cheers!

  • Like 1
  • Upvote 1
Link to post
Share on other sites
  • 2 weeks later...

is there anyway i can add support for a Sierra aircard 250U it shows up when u plug it in but i don't get eth1 even after i added everything in the network config ? the reason why i would like to use this usb modem is because i get it from work for free and it comes with unlimited data plan

Bus 001 Device 011: ID 1199:0301 Sierra Wireless, Inc.

Bus 001 Device 012: ID 198f:0220 Beceem Communications Inc. BCSM250 WiMAX Adapter

Link to post
Share on other sites
Hi guys,

Sorry for the silly question but I'm trying to use my 3g dongle on my Nano. I used to use it on my Mkv and it worked fine.


In the mk5 there is a menu called "mobile broadband"


Where could i find this on the Nano?

I went to Networking but i don't see that option.


thx!!

Link to post
Share on other sites

Hello all,

Just got this new usb modem from Verizon, a MiFi 4G LTE Global USB620L Modem. It's going to be a second usb modem, the first being a PANTECH UML295, which I have it working on the Mark 5. Just getting my new NANO I just had to get me another usb modem! Well it seems the only usb modems Verizon had was the USB602L. Going into the support site for this modem I saw there was a Linux Integration Guide... http://www.verizonwireless.com/dam/support/pdf/user_guide/u620-linux-integration-guide-7-17-15.pdf

And so the cool thing I saw was that it could be reconfigured with usb_modeswitch to be used as a CDC-ECM interface (End-User Mode), instead of the RNDIS interface it comes in default. It also has Enterprise Mode which it enumerates CDC-ECM and Modem Interfaces in which you can send AT commands to the device.

After plugging in this modem to my NANO and waiting for it to be picked up... nothing.

After issuing the lsusb command: ID 1410:9020 Novatel Wireless

But it wouldn't show in the ifconfig interface as a network interface.

Struggling to get this to work and not finding the usb_modeswitch in the pineapple nano, I find the the nano uses usbmode with json-based configuration instead of classic usb_modeswitch binary.

According to this post: https://wiki.openwrt.org/doc/recipes/3gdongle

NOTE: As of r36812, OpenWrt made significant changes with usb-modeswitch as part of procd system init daemon. The new usb-modeswitch package includes binary usbmode with json-based configuration instead of classic usb_modeswitch binary. Supported modems should switch automatically as long as usbmode service is active. The /etc/usb-mode.json configuration file looks partially like below.

{
    "messages" : [
        "555342431234567800000000000006d0000000000000000000000000000000",
        "5553424312345678000000000000061b004600000000000000000000000000",
],
"devices" : {
        "03f0:002a": {
            "*": {
                "t_class": 7,
                "msg": [ 0 ],
                "response": true
            }
        },
        "0408:f000": {
            "*": {
                "t_vendor": 1032,
                "t_product": [ 53257 ],
                "msg": [ 1 ]
            }
        },
    }
}

The json file is generated automaticallly from ordinary usb_modeswitch data files during build process using perl script named convert-modeswitch.pl. For diagnostics purpose, you can create usb-mode-custom.json with defined message and devices part and launch the command

usbmode -l
usbmode -s -v -c /path/to/usb-mode-custom.json

And so I made my own usb-mode-custom.json script

Target vendor (0x1410) is converted to decimal notation to fill t_vendor value (5136) and target product (0x9020) is converted to decimal notation to fill t_product (36896). There is only no message content. Configuration "2" for CDC-ECM interface (End-User Mode). The resulting usb-mode-custom.json content is as follows.

{
    "messages" : [
],
"devices" : {
        "1410:9020": {
            "*": {
                "t_vendor": 5136,
                "t_product": [ 36896 ],
                "config": 2
            }
        },
    }
}

I saved this file into my /root/ folder, all that is needed now is launching the command

usbmode -l
usbmode -s -v -c /root/usb-mode-custom.json

I added this command to my rc.local file so that it could be ran automatically at boot.

So that's it! It works great! I just plug in my usb modem and it automatically connects as a CDC-EMC instead of RNDIS, gets the eth1 network interface, ip address assigned and PACKETS FLOWING!!

I hope this helps somebody!

cynofox

  • Upvote 2
Link to post
Share on other sites
  • 4 weeks later...

Sorry it took me a while to respond -- had to go out and get a new SIM card.

So what you'll want to do is add the following to two files:

/etc/config/network

config interface 'wan2'
	option ifname	'eth1'
	option proto	'dhcp'
	option dns	'8.8.8.8, 8.8.4.4'

/etc/config/firewall

config zone
	option name		wan2
	list   network		'wan2'
	option input		ACCEPT
	option output		ACCEPT
	option forward		ACCEPT
	option masq		1
	option mtu_fix		1

and

config forwarding
	option src		lan
	option dest		wan2

config forwarding
	option src		wan2
	option dest		lan

This only applies to 1.0.5 and earlier. We'll bake this into a future version.

For a longer explanation see:

https://www.youtube.com/watch?v=B2MK50416Lo

These are the same settings you would use for a USB Ethernet adapter over DHCP. I've seen one or two managed USB modems that don't dole out IP addresses by DHCP so you may need to add static info to your /etc/config/network file.

Cheers!

I updated to the new 1.0.6 firmware and wanted to test my e355 Huawei dongle. I see that when I plug it in that it makes a eth1 devide but it assignes no IP adress to it. And I also can not select it as the default route. What do I do wrong? In the system log I see that cdc_ether. With the older pineapple it worked great but not yet with the Nano! Please Help!

Link to post
Share on other sites

@Amsterman, I'm in the same boat. I never could get my 3g dongle to work on my nano. It works fine on the mkv. Then again, the mkv had a mobile connection setup in it.

I hope that someone can help!

I don't have access to my Mark V or a 3G modem at the moment, but if possible can you attach the output from "dmesg" on both the nano and the mark v with the modem inserted?

Perhaps the problem is USB-modeswitch identifying your modems.

Link to post
Share on other sites

Hey Foxtrot, thanks for jumping in.

I`d be more than happy to provide the info that you´re requesting.

Unfortuantatly I´m not familiar with "dmesg".

If you can walk me through the procedure, i could send you the output on both mkv and nano. (I´m using putty)

My usb 3g modem model is: HUAWEI E 173

What i find a bit confusing is that the nano does not have a mobile broadband setup gui. The Mkv has it in the Network infusion.

Anyway, the Mobile broadband menu gui is somewhat essential because it`s where i place the APN etc.... How could i do this on a Nano??

Cheers

Link to post
Share on other sites

Foxtrot,

I did a dmesg on both the nano and mkv. Both had the same 3g dongle inserted when the command was entered.

Note: The dongle´s led is lit when plugged into the mkv, however while plugged into the nano the led is off.

Also, the mkv´s firmware allows the user to properly configure the APN. The Nano is yet to have this. I imagine it will be implemented someday.

I tried posting the output here but text was too long, so uploaded both results to the following link::

https://mega.nz/#!KRdU1AbJ!ksZOsYl-LgnVr4GshJHpKyVFBsnOwklsO4TcvcQP-n0

Thx!

btw, my 3g modem model is: HUAWEI E 173

Edited by cheeto
Link to post
Share on other sites

Hey Foxtrot, thanks for jumping in.

I`d be more than happy to provide the info that you´re requesting.

Unfortuantatly I´m not familiar with "dmesg".

If you can walk me through the procedure, i could send you the output on both mkv and nano. (I´m using putty)

My usb 3g modem model is: HUAWEI E 173

What i find a bit confusing is that the nano does not have a mobile broadband setup gui. The Mkv has it in the Network infusion.

Anyway, the Mobile broadband menu gui is somewhat essential because it`s where i place the APN etc.... How could i do this on a Nano??

Cheers

Sure. The "dmesg" command is used to print out messages from the kernel. If you execute the command over an SSH session, you will be returned some useful information.

As the for the GUI element missing, thats true, unfortunately I can't do much about that :grin:

You can setup APN etc manually for the time being by adding the correct block to the /etc/config/network file, like so: (assuming your adapter is working..)

config interface wan
        option ifname  ppp0
        option device  /dev/ttyUSB0
        option apn     your.apn
        option service umts
        option proto   4g

You may need to confirm /dev/ttyUSB0 is the correct device, you can check by running "ls /dev/ttyUSB*" on the pineapple before and after plugging in the modem. If you get multiple devices, try all of them one by one.

Edited by Foxtrot
Link to post
Share on other sites

Both devices seem to be seeing the modem, as far as I can see.

Have you tried doing the config I mentioned in my other post?

Hi,

No i haven't tried that yet. I'll add the script as soon as i get home and i will post the results.

btw, shouldn't i have an option to choose eth1 or something like that?

thx!!

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...