2060 | | |
2061 | | === Toby L2 === |
2062 | | |
2063 | | Gateworks has tested the Toby MPCI-L201 in USA (Mini-PCIe form factor) (GW17046) |
2064 | | [https://www.u-blox.com/en/product/mpci-l2-series] |
2065 | | |
2066 | | * LTE Cat 4 - Up to 150Mb/s throughput |
2067 | | * Multiple countries supported with different model variants |
2068 | | * Industrial Temperature -40 to +85C Operation |
2069 | | * FOTA Support |
2070 | | * Drivers required |
2071 | | * cdc_acm driver provides ttyACM0(at) (/dev/ttyACM0) |
2072 | | * rndis_host driver provides usb0(net) |
2073 | | * Will create a network interface shown from the command: ifconfig -a |
2074 | | * No pinout concerns - PERST# and WLAN_DIS# are used and are 3.3V compliant, VDD is 3.0 to 3.6V |
2075 | | * Toby L2 Documentation: [https://www.u-blox.com/en/product-resources?f%5B0%5D=property_file_product_filter%3A2451] |
2076 | | * Purchasing: |
2077 | | * GW17046 - Gateworks Shop: [https://shop.gateworks.com/index.php?route=product/product&product_id=228] |
2078 | | * Antenna suggestion & adapter cable: [https://shop.gateworks.com/index.php?route=product/product&product_id=89&search=gw16065 GW16065] & [https://shop.gateworks.com/index.php?route=product/product&product_id=42 GW10036] |
2079 | | |
2080 | | ==== Toby 3G Sunset ==== |
2081 | | |
2082 | | Only U-Blox products that are voice-centric might be impacted by the 3G sunset. |
2083 | | |
2084 | | You can ensure the modem is explicitly set to “data centric” by issuing the commands below. |
2085 | | |
2086 | | {{{#!bash |
2087 | | AT+CFUN=4 #Set module in Airplane mode |
2088 | | AT+CEMODE=2 #Set module to "data centric" |
2089 | | AT+CFUN=1 #Set module in "Full" mode |
2090 | | }}} |
2091 | | |
2092 | | ==== BSP specific notes ==== |
2093 | | |
2094 | | '''Ubuntu Notes:''' |
2095 | | * Tested on [wiki:ventana/ubuntu Gateworks Xenial and Bionic] (Bionic requires installing network-manager) |
2096 | | * Uses modem manager and network manager |
2097 | | * Sample set of commands: |
2098 | | {{{ |
2099 | | mmcli --modem 0 --enable |
2100 | | mmcli --modem 0 --simple-connect="apn=yourapnname" |
2101 | | dhclient usb0 |
2102 | | }}} |
2103 | | |
2104 | | * There will be an IP address assigned, something such as 192.168.1.100 to usb0. Test this using the ifconfig command (do not expect a WAN IP) |
2105 | | * Try first to ping an actual IP address, like 8.8.8.8 (in case DNS isn't working....) |
2106 | | * Then try a domain name, like www.yahoo.com |
2107 | | * If a domain name doesn't work, try adding a DNS like the Google DNS as follows and try the ping again: |
2108 | | {{{ |
2109 | | echo "nameserver 8.8.8.8" > /etc/resolv.conf |
2110 | | }}} |
2111 | | |
2112 | | '''OpenWrt Notes:''' |
2113 | | * OpenWrt 16.02 and 18.02 have been tested |
2114 | | * OpenWrt 16.02 will show both usb0 and usb1 enumerated. usb1 should be used for the internet. |
2115 | | * Must set the APN via AT commands (Read more in the [https://www.u-blox.com/sites/default/files/u-blox-CEL_ATCommands_%28UBX-13002752%29.pdf AT Command Manual]) |
2116 | | |
2117 | | Steps to establish connection using !OpenWrt: |
2118 | | * Verify USB device is present: |
2119 | | {{{ |
2120 | | lsusb |grep U-Blox |
2121 | | }}} |
2122 | | * Verify serial interface is present: |
2123 | | {{{ |
2124 | | dmesg |grep ttyACM0 |
2125 | | }}} |
2126 | | * Verify virtual adapter usb0 is present. |
2127 | | {{{ |
2128 | | ls /sys/class/net |
2129 | | }}} |
2130 | | * Use UCI commands to configure interface: |
2131 | | {{{ |
2132 | | uci set network.lan= # remove br-lan to avoid routing conflict |
2133 | | uci set network.wan=interface |
2134 | | uci set network.wan.proto=dhcp |
2135 | | uci set network.wan.ifname=usb0 |
2136 | | uci commit network |
2137 | | }}} |
2138 | | * Refresh network interfaces |
2139 | | {{{ |
2140 | | /etc/init.d/network restart |
2141 | | }}} |
2142 | | Using STTY/cat/echo enter these AT commands, more details [wiki:/wireless/modem#ATcommands here]: |
2143 | | * Configure STTY echo: |
2144 | | {{{#!bash |
2145 | | stty -F /dev/ttyACM0 ignbrk -brkint -icrnl -opost -onlcr -isig -icanon -iexten -echo -echoe -echok -echoctl -echoke |
2146 | | }}} |
2147 | | * Configure STTY cat: |
2148 | | {{{#!bash |
2149 | | cat /dev/ttyACM0 & |
2150 | | }}} |
2151 | | * Verify you can communicate with modem using AT commands: |
2152 | | {{{#!bash |
2153 | | echo -n -e "ATI\r" > /dev/ttyACM0 |
2154 | | }}} |
2155 | | * Verify modem IP configuration |
2156 | | {{{#!bash |
2157 | | echo -n -e "at+uipconf?\r" > /dev/ttyACM0 |
2158 | | # Example output: +UIPCONF: "192.168.1.1","255.255.255.0","192.168.1.100","192.168.1.100","fe80::fce7:5fff:fe5b:34e/64" |
2159 | | |
2160 | | }}} |
2161 | | * Detach the modem from the network: |
2162 | | {{{#!bash |
2163 | | echo -n -e "AT+CFUN=4\r" > /dev/ttyACM0 |
2164 | | }}} |
2165 | | * Set APN (default IOT device APN used in this example): |
2166 | | {{{#!bash |
2167 | | echo -n -e "AT+UCGDFLT=1,"IP","m2m.com.attz"\r" > /dev/ttyACM0 |
2168 | | echo -n -e "AT+UCGDFLT?\r" > /dev/ttyACM0 #to verify |
2169 | | }}} |
2170 | | * Re-connect to network: |
2171 | | {{{#!bash |
2172 | | echo -n -e "AT+CFUN=1\r" > /dev/ttyACM0 |
2173 | | }}} |
2174 | | * Verify network parameters, a dynamically assigned IP address should be displayed: |
2175 | | {{{#!bash |
2176 | | echo -n -e "at+cgdcont?\r" > /dev/ttyACM0 |
2177 | | }}} |
2178 | | |
2179 | | This completes the configuration process, you may need to reset you device, otherwise perform ping test. Name resolution may need to be set. |