This blog post is about our current EV3 robot we're planning to use in the 2023/2024 FLL competition. Some features: 2 large motors for steering. 2 medium motors for attachments. 2 colour sensors for picking up the white and black lines, also used for line squaring. 1 gyro sensor. To enable attachments to be changed as quickly as possible we're using gravity to keep the gears connected, i.e. you don't need to fasten anything to the robot. Every attachment has 2x 12 tooth double bevel gear (part 32270) which comes in contact with the 2x 20 tooth double bevel gears (part 32269) on the robot. The medium motors are horizontally aligned on the robots, but we use 12 tooth double bevel gears to convert that to vertical alignments. These in turn are connected to 20 tooth double bevel gears, and the attachments in turn connect to these 20 tooth double bevel gears with their 12 tooth double bevel gears. The complete robot is modelled in Bricklink Studio 2 . You can download the rob
This post will describe how to install OpenWRT 14.09 on a TP-Link MR3420 router, plus configure it to use a Huawei E353 3G dongle to connect to the internet.
First download the firmware, plus extra packages we'll need later. Store this on your computer:
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-mii_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net-cdc-ether_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net-rndis_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/libpthread_0.9.33.2-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/librt_0.9.33.2-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/libusb-1.0_1.0.9-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/usb-modeswitch_2014-07-18-01ecc3b9764d1dd89cf36ede0a2d98f9adb0cd33_ar71xx.ipk
Connect a network cable between any LAN port of the router and your computer (make sure you're not using the router's WAN port).
Flash your router with the 14.07 image. See http://wiki.openwrt.org/toh/tp-link/tl-mr3420 for more information on how to do this. After flashing it should reboot the router.
For OpenWRT 14.07 you don't need to set a static IP address on your computer. The router's IP address will default to 192.168.1.1 plus it will assign an IP address to your computer via DHCP. Unplug the network cable and plug it back in to make sure we're getting the new IP address from the router. Simply browse to http://192.168.1.1 and you should see the OpenWRT login page.
Login with username root and no password, then change the password and click on save & apply. You don't need to change anything on the SSH settings.
In my case I want to use a Huawei E353 3G dongle for my internet access. This dongle acts as a mini-router in itself, setting itself up as a gateway on a network (ethernet) interface. It's a lot more stable compared to dial-up (ppp) dongles because it handles connection drops and reconnects internally, meaning you don't need to do any fancy checks from OpenWRT's side.
The dongle usually comes up with an IP address of 192.168.1.100, but this clashes with the router's default subnet of 192.168.1.1. So the first step is to change the router's subnet to something else, I'll use 192.168.0.1.
On the web go to Network - Interfaces, click Edit on LAN and change "IPv4 address" to 192.168.0.1. Click on Save and Apply, then disconnect your network cable and reconnect so the router can assign a new IP in the 192.168.0.x range for you. On your computer browse to http://192.168.0.1 and you should be able to log in.
Now we need to install extra packages. In a previous post I've explained how to use the 3G dongle on your computer and set up your computer with internet sharing, but there is an easier way. Using WinSCP (http://winscp.net/eng/index.php) you can transfer files from your computer to the router. Set up a new connection to 192.168.0.1, set the file protocol to SCP (important because the default SFTP won't work), and connect with username root and your password. Then transfer the *.ipk packages you've downloaded above to /tmp.
Now using Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) log into the router. Connect to 192.168.0.1 with user root and your password.
Usually when you install packages via the web it will handle all dependencies for you. For a manual install you need to handle the dependencies yourself.
opkg install /tmp/kmod-mii_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net-cdc-ether_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net-rndis_3.10.49-1_ar71xx.ipk
opkg install /tmp/libpthread_0.9.33.2-1_ar71xx.ipk
opkg install /tmp/librt_0.9.33.2-1_ar71xx.ipk
opkg install /tmp/libusb-1.0_1.0.9-1_ar71xx.ipk
opkg install /tmp/usb-modeswitch_2014-07-18-01ecc3b9764d1dd89cf36ede0a2d98f9adb0cd33_ar71xx.ipk
Reboot the router for changes to take effect.
After reboot putty back into the router.
Type in dmesg and you should see a line like this
[ 164.050000] cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-ehci-platform-1, CDC Ethernet Device, XX:XX:XX:XX:XX:XX
If you don't please run the following command from Putty:
/etc/init.d/usbmode start
Alternatively you can unplug your dongle, then insert it back into the router and check again. This is because by default usb-modeswitch does not run at startup, but you can Enable it by going to System - Startup and enable "usbmode".
If all went well we should have eth2 registered, meaning it has picked up our 3G dongle and registered it as a ethernet network "eth2".
Go back to the web interface, choose Network - Interfaces. Click edit on WAN, choose Physical Settings and change to interface to Ethernet Adapter: eth2. Click on Save and Apply.
Going back to the Network - Interfaces and you should see the WAN interface has an IP address of 192.168.1.100/24. This means we've connected successfully to the 3G dongle and you should be able to access the internet. You can test this by pinging www.google.com from the router, after that try it from your computer.
Finally set up your Wifi settings. Go to Network - Wifi, click Edit, change your ESSID and your security, click Save and Apply, then click on Enable and your wifi should be up & running.
First download the firmware, plus extra packages we'll need later. Store this on your computer:
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-mii_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net-cdc-ether_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/kmod-usb-net-rndis_3.10.49-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/libpthread_0.9.33.2-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/librt_0.9.33.2-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/libusb-1.0_1.0.9-1_ar71xx.ipk
http://downloads.openwrt.org/barrier_breaker/14.07/ar71xx/generic/packages/base/usb-modeswitch_2014-07-18-01ecc3b9764d1dd89cf36ede0a2d98f9adb0cd33_ar71xx.ipk
Connect a network cable between any LAN port of the router and your computer (make sure you're not using the router's WAN port).
For OpenWRT 14.07 you don't need to set a static IP address on your computer. The router's IP address will default to 192.168.1.1 plus it will assign an IP address to your computer via DHCP. Unplug the network cable and plug it back in to make sure we're getting the new IP address from the router. Simply browse to http://192.168.1.1 and you should see the OpenWRT login page.
Login with username root and no password, then change the password and click on save & apply. You don't need to change anything on the SSH settings.
In my case I want to use a Huawei E353 3G dongle for my internet access. This dongle acts as a mini-router in itself, setting itself up as a gateway on a network (ethernet) interface. It's a lot more stable compared to dial-up (ppp) dongles because it handles connection drops and reconnects internally, meaning you don't need to do any fancy checks from OpenWRT's side.
The dongle usually comes up with an IP address of 192.168.1.100, but this clashes with the router's default subnet of 192.168.1.1. So the first step is to change the router's subnet to something else, I'll use 192.168.0.1.
On the web go to Network - Interfaces, click Edit on LAN and change "IPv4 address" to 192.168.0.1. Click on Save and Apply, then disconnect your network cable and reconnect so the router can assign a new IP in the 192.168.0.x range for you. On your computer browse to http://192.168.0.1 and you should be able to log in.
Now we need to install extra packages. In a previous post I've explained how to use the 3G dongle on your computer and set up your computer with internet sharing, but there is an easier way. Using WinSCP (http://winscp.net/eng/index.php) you can transfer files from your computer to the router. Set up a new connection to 192.168.0.1, set the file protocol to SCP (important because the default SFTP won't work), and connect with username root and your password. Then transfer the *.ipk packages you've downloaded above to /tmp.
Now using Putty (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) log into the router. Connect to 192.168.0.1 with user root and your password.
Usually when you install packages via the web it will handle all dependencies for you. For a manual install you need to handle the dependencies yourself.
opkg install /tmp/kmod-mii_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net-cdc-ether_3.10.49-1_ar71xx.ipk
opkg install /tmp/kmod-usb-net-rndis_3.10.49-1_ar71xx.ipk
opkg install /tmp/libpthread_0.9.33.2-1_ar71xx.ipk
opkg install /tmp/librt_0.9.33.2-1_ar71xx.ipk
opkg install /tmp/libusb-1.0_1.0.9-1_ar71xx.ipk
opkg install /tmp/usb-modeswitch_2014-07-18-01ecc3b9764d1dd89cf36ede0a2d98f9adb0cd33_ar71xx.ipk
Reboot the router for changes to take effect.
After reboot putty back into the router.
Type in dmesg and you should see a line like this
[ 164.050000] cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-ehci-platform-1, CDC Ethernet Device, XX:XX:XX:XX:XX:XX
If you don't please run the following command from Putty:
/etc/init.d/usbmode start
Alternatively you can unplug your dongle, then insert it back into the router and check again. This is because by default usb-modeswitch does not run at startup, but you can Enable it by going to System - Startup and enable "usbmode".
If all went well we should have eth2 registered, meaning it has picked up our 3G dongle and registered it as a ethernet network "eth2".
Go back to the web interface, choose Network - Interfaces. Click edit on WAN, choose Physical Settings and change to interface to Ethernet Adapter: eth2. Click on Save and Apply.
Going back to the Network - Interfaces and you should see the WAN interface has an IP address of 192.168.1.100/24. This means we've connected successfully to the 3G dongle and you should be able to access the internet. You can test this by pinging www.google.com from the router, after that try it from your computer.
Finally set up your Wifi settings. Go to Network - Wifi, click Edit, change your ESSID and your security, click Save and Apply, then click on Enable and your wifi should be up & running.
Comments