Need help updating opkg on Hame MPR-A1/OpenWRT

Hi folks,

I was referred here from the OpenWRT forums (which are currently down) in the hopes that I might find some guidance here. I am trying to configure OpenWRT on a Hame MPR-A1 router to basically pass packets received over wireless out through USB serial --> use this to control a robot vacuum. I'm trying to follow the tutorial that Julian Tatsch put together on his site. However, I'm pretty far out of my depth here - I'm a mechanical guy, not a software guy, and definitely not a IP config guy!

Here's my current status:

  • I have successfully loaded OpenWRT onto the Hame router, using the onekeyRouterUpgrade tool that Jiapeng Li posted here. I can access the Hame router both through the web interface and through SSH.
  • Current network configuration: Hame router is plugged into my main home router over Ethernet. My laptop is connected to the main home router via wireless. I can still SSH into the Hame router.
  • I've tried to follow Julian Tatsch's instructions to configure the various network interfaces. Here's what I have right now:
    ** /etc/config/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.1'
        option proto 'dhcp'
        option gateway '192.168.181.1'
        option dns '8.8.8.8'

config interface 'wwan'
        option proto 'dhcp'

config interface 'wan'
        option ifname 'eth0.2'
        option proto 'dhcp'
        option macaddr '9c:41:7c:40:a2:89'

config switch
        option name 'rt305x'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'rt305x'
        option vlan '1'
        option ports '0 1 2 3  6t'

config switch_vlan
        option device 'rt305x'
        option vlan '2'
        option ports '4  6t'

** /etc/config/wireless (Note: I've turned off wireless temporarily because it makes the router soooper slow...)

config wifi-device  radio0
        option type     mac80211
        option channel  11
        option hwmode   11g
        option path     'platform/rt2800_wmac.0'
        option htmode   HT20
        list ht_capab   GF
        list ht_capab   SHORT-GI-20
        list ht_capab   SHORT-GI-40
        list ht_capab   RX-STBC1
        # REMOVE THIS LINE TO ENABLE WIFI:
        option disabled 1
        option country  US
        option txpower  20
        option wmm      1
        option channel  9

config wifi-iface
        option device   radio0
        option network  wwan
        option mode     sta
        option ssid     OpenWrt
        option encryption psk2
        option key      <REDACTED>

**/etc/resolv.conf (Tatsch says to change this to a nameserver of your choice - I don't understand what this means! I tried changing it to a different IP address, but it changed back)

search lan
nameserver 127.0.0.1
  • I am struggling to perform the sysupgrade step, because of the very low amount of RAM on the Hame router. I am able to start downloading the bin file, but I don't have enough space to complete the download. I don't think that this should prevent me from proceeding, though...

Here's my current problem: I cannot run opkg update. When I do, I get the following error: wget: server returned error: HTTP/1.1 404 Not Found. I am confused why this is happening. I can ping 8.8.8.8 successfully, and can get wget to connect to the internet & download packages when I call it directly. I don't think I can proceed without this step - I think I need to be able to update opkg before I can install ser2net.

Any thoughts/suggestions are appreciated! Thanks for your time & patience.

It looks like you don't have DNS properly configured yet. Would you describe how you get Internet service to your other devices? For example, "My laptop is set up for DHCP and it gets its address from my other router."

Thanks, Jeff! Your guess was correct. My laptop is set up for DHCP and gets its address from the main home router. The main home router is an Apple Time Capsule, which feeds through a Verizon router to connect to the Internet (this part of the configuration was set up by professionals/shouldn't be a problem).

The Hame router does seem to be getting an IP address assigned to it correctly, though. If I plug it into the router and leave it there for a minute, it will eventually show up at some IP address that makes sense (e.g. 192.168.1.150)

OK, I think you're setting up the OpenWRT box with its "WAN" disconnected and its "LAN" connected to your current network. You might want to try removing the gateway and dns options, leaving

config interface 'lan'
        option ifname 'eth0.1'
        option proto 'dhcp'

which, I think, should let the OpenWRT DHCP client set the IP, gateway, and DNS server(s).

Thanks, Jeff. I tried this, and now I can see the Hame router on my network/can ping it, but can no longer SSH in (the connection is refused). I'm guessing I need to configure firewall rules as well?

Edit: I was mistaken - I can't actually see the Hame router, this is some other device on my network. I'm no longer able to connect to the Hame router through its Ethernet interface - either by hooking it up to the home router (a DHCP server) or my laptop directly (a DHCP client). I'll reflash and try removing just the DNS option?

You should be able to get the router into "failsafe mode", often by clicking the proper button when the power light starts flashing after boot (I didn't see device-specific instructions). From there you can make the changes without re-flashing. See https://openwrt.org/docs/guide-user/troubleshooting/failsafe_and_factory_reset for what you can do (probably mount_root then vi /etc/config/network)

If you're not using the WAN port yet, you can set that to a static IP (on a different subnet) so that you could direct-connect to it even if the LAN config was "messed up".