MOX: how to netboot?

For me, it worked relatively straight forward. Yes, the Forris plugin seems to be buggy still (exclamation mark, devices and channel also not available) but by using netboot-manager on the cli I could accept the pairing request and Mox seems to work nicely since then.

Is there some better guide how to diagnose what is happening? I already spent 10 hours trying to get it work with no success - same story as above but let me repeat:

  • bought Turris MOX “AP option” (just CPU module A)
  • plugged it via Ethernet cable to my Turris Omnia, connected power cable …and nothing happened (LED diod went on and is permanently on) and nothing in Forris
  • followed guide here: doc.turris.cz/doc/en/howto/mox_network_boot (cannot put links as new user)
  • installed Turris MOX network boot package list from the Updater tab
  • plugged it via Ethernet cable to my Turris Omnia, re-connected power cable …and nothing happened (LED diod went on and is permanently on) and nothing in Forris
  • run “Rescue Mode 3: Factory reset” as described here: doc.turris.cz/doc/en/howto/mox_rescue_modes (cannot put links as new user) (this should be YouTube video)
  • plugged it via Ethernet cable to my Turris Omnia, re-connected power cable …and nothing happened (LED diod went on and is permanently on) and nothing in Forris
  • started to figure out how to open (seriously guys you should make YouTube video how to open as this is non-trivial) - luckily I did not damage the plastic covers
  • I tried to put in my own microSSD card to test if the router is totally broken or whether it works
  • configured microSSD: doc.turris.cz/doc/en/howto/mox_microsd_card (cannot put links as new user)
  • run “Rescue Mode 4: USB flashing” as described here: doc.turris.cz/doc/en/howto (cannot put links as new user)
  • I was able to boot as normal Router - so it seems the router works… spent couple of hours trying to configure manually with no success
  • I removed the microSSD card
  • run “Rescue Mode 3: Factory reset” as described here: doc.turris.cz/doc/en/howto/mox_rescue_modes (cannot put links as new user)
  • plugged it via Ethernet cable to my Turris Omnia, re-connected power cable …and nothing happened (LED diod went on and is permanently on) and nothing in Forris
  • I tried to follow the manual part logging to OS version and running netboot-manager list command (as root) - no router displayed anywhere on list
  • I tried netboot-manager regen and netboot-manager update_rootfs commands (as root)
  • plugged it via Ethernet cable to my Turris Omnia, re-connected power cable …and nothing happened (LED diod went on and is permanently on) and nothing in Forris and nothing in netboot-manager list

Bottom line - it does not work… I got feeling the MOX does not boot however I have no idea how to find out why? Is there any way to diagnose?

Feedback - guys this sucks so much - Turris Omnia was AWESOME… Turris MOX is so far piece of crap - you did not do very good job here - it does not work for dozens of users (as seen above) and still after such long time since release there is no solution, no documentation, etc…

1 Like

So did some research and seems best way to debug is to check system log via command logread - found there following error messages:

2019-07-14 18:03:07 info dnsmasq-dhcp[5128]: DHCPDISCOVER(br-lan) xx:xx:xx:xx:xx:xx
2019-07-14 18:03:07 info dnsmasq-dhcp[5128]: DHCPOFFER(br-lan) 192.168.1.142 xx:xx:xx:xx:xx:xx
2019-07-14 18:03:07 info dnsmasq-dhcp[5128]: DHCPREQUEST(br-lan) 192.168.1.142 xx:xx:xx:xx:xx:xx
2019-07-14 18:03:07 info dnsmasq-dhcp[5128]: DHCPACK(br-lan) 192.168.1.142 xx:xx:xx:xx:xx:xx
2019-07-14 18:03:07 err dnsmasq-tftp[5128]: file /srv/tftp/C0A8018E.img not found
2019-07-14 18:03:07 err dnsmasq-tftp[5128]: file /srv/tftp/pxelinux.cfg/xx-xx-xx-xx-xx-xx-xx not found
2019-07-14 18:03:13 err dnsmasq-tftp[5128]: file /srv/tftp/pxelinux.cfg/xx-xx-xx-xx-xx-xx-xx not found
2019-07-14 18:03:22 err dnsmasq-tftp[4312]: Last message 'file /srv/tftp/pxeli' repeated 1 times, suppressed by syslog-ng on turris
2019-07-14 18:03:23 err dnsmasq-tftp[5128]: file /srv/tftp/pxelinux.cfg/xx-xx-xx-xx-xx-xx-xx not found
2019-07-14 18:03:28 err dnsmasq-tftp[5128]: file /srv/tftp/pxelinux.cfg/xx-xx-xx-xx-xx-xx-xx not found
2019-07-14 18:03:29 err dnsmasq-tftp[5128]: file /srv/tftp/pxelinux.cfg/C0A8018E not found
2019-07-14 18:03:38 err dnsmasq-tftp[4312]: Last message 'file /srv/tftp/pxeli' repeated 1 times, suppressed by syslog-ng on turris

I have to join to Tomas.
Same symptoms. Obviously MOX is trying to do something but without a success. Just lighting red.

From Omnia logs after Mox power-on:

2019-07-15 17:55:44 info dnsmasq-dhcp[4787]: DHCPDISCOVER(br-lan) d8:58:d7:xx:xx:xx
2019-07-15 17:55:44 info dnsmasq-dhcp[4787]: DHCPOFFER(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:44 info dnsmasq-dhcp[4787]: DHCPREQUEST(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:44 info dnsmasq-dhcp[4787]: DHCPACK(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:44 err dnsmasq-tftp[4787]: file /srv/tftp/C0A80A66.img not found
2019-07-15 17:55:44 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/01-d8-58-d7-xx-xx-xx not found
2019-07-15 17:55:44 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A80A66 not found
2019-07-15 17:55:44 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A80A6 not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A80A not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A80 not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A8 not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0A not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C0 not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/C not found
2019-07-15 17:55:45 info dnsmasq-tftp[4787]: sent /srv/tftp/pxelinux.cfg/default-arm-mvebu-turris_mox to 192.168.1.102
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/default-arm-mvebu not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/default-arm not found
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/pxelinux.cfg/default not found
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPDISCOVER(br-lan) d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPOFFER(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPREQUEST(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPACK(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/boot.scr.uimg not found
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPDISCOVER(br-lan) d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPOFFER(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPREQUEST(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 info dnsmasq-dhcp[4787]: DHCPACK(br-lan) 192.168.1.102 d8:58:d7:xx:xx:xx
2019-07-15 17:55:45 err dnsmasq-tftp[4787]: file /srv/tftp/boot.scr.uimg not found

So obviously some file is found but then boot is not. And there is quite not much things in the tftp directories:

root@turris:~# ll /srv/tftp/
drwxr-xr-x    1 root     root            52 Jun 20 13:35 .
drwxr-xr-x    1 root     root           106 Jun 20 13:34 ..
drwxr-xr-x    1 root     root            56 Jun 20 13:35 pxelinux.cfg
drwxr-xr-x    1 turris-n root             6 Jul  4 02:16 turris-netboot
root@turris:~# ll /srv/tftp/pxelinux.cfg/
drwxr-xr-x    1 root     root            56 Jun 20 13:35 .
drwxr-xr-x    1 root     root            52 Jun 20 13:35 ..
-rw-r--r--    1 turris-n root             0 Jun 20 13:35 default-arm-mvebu-turris_mox
root@turris:~# ll /srv/tftp/turris-netboot/
drwxr-xr-x    1 turris-n root             6 Jul  4 02:16 .
drwxr-xr-x    1 root     root            52 Jun 20 13:35 ..
-rw-r--r--    1 turris-n turris-n  16078772 Jul  4 02:16 mox

So Turris team, what are we doing wrong?
Thanks.

My problem is probably this one:

2019-07-15 21:40:18 info dnsmasq-dhcp[7296]: DHCPDISCOVER(br-lan) d8:58:d7:00:**:**
2019-07-15 21:40:18 info dnsmasq-dhcp[7296]: DHCPOFFER(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:18 info dnsmasq-dhcp[7296]: DHCPREQUEST(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:18 info dnsmasq-dhcp[7296]: DHCPACK(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:18 warning dhcp_host_domain_ng.py[]: Add_lease, hostname check failed
2019-07-15 21:40:19 info dhcp_host_domain_ng.py[]: Refresh kresd leases
2019-07-15 21:40:23 info dnsmasq-tftp[7296]: sent /srv/tftp/turris-netboot/mox_0000000D3000**** to 192.168.18.192
2019-07-15 21:40:23 info dhcp_host_domain_ng.py[]: DHCPv4 new lease
2019-07-15 21:40:23 warning dhcp_host_domain_ng.py[]: Add_lease, hostname check failed
2019-07-15 21:40:23 warning dhcp_host_domain_ng.py[]: DHCP unknown update operation
2019-07-15 21:40:23 info dhcp_host_domain_ng.py[]: Refresh kresd leases
2019-07-15 21:40:39 info dnsmasq-dhcp[7296]: DHCPDISCOVER(br-lan) d8:58:d7:00:**:**
2019-07-15 21:40:39 info dnsmasq-dhcp[7296]: DHCPOFFER(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:39 info dnsmasq-dhcp[7296]: DHCPREQUEST(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:39 info dnsmasq-dhcp[7296]: DHCPACK(br-lan) 192.168.18.192 d8:58:d7:00:**:**
2019-07-15 21:40:39 warning dhcp_host_domain_ng.py[]: Add_lease, hostname check failed
2019-07-15 21:40:39 info dhcp_host_domain_ng.py[]: Refresh kresd leases
2019-07-15 21:40:39 info sshd[19186]: Connection closed by authenticating user turris-netboot 192.168.18.192 port 50046 [preauth]

I’ve looked at what goes into the dhcp_host_domain_ng.py script as the hostname, and it is *. Then it seems right the DHCP script fails…

Got it - I only had to factory reset MOX. Now it shows up correctly even in the Setup tab (with an exclamation mark, but it works).

I had same problem.
I used to have Boot over a network.

This is optional:
Disconnect Mox from Omnia.
Maybe backup of tftp folder (not so necessary, because Mox tftp is in different folder).
Than revert changes from Boot over a network tutorial.
Reboot?
Than do a snapshot if you want (whatever seams reasonable to you).

Factory reset of Mox.
Try follow this guide:
Mox netboot requirements of DHCP (I think there should also be quotes at the end of the line „ssh-keygen…“).

That didn’t help me, because of a missing file.
So what I did next?
Disconnect Mox.
Revert to snapshot before netboot.
Factory reset of Mox.

Install Turris MOX network boot in Foris.
Create file C0A8018E.img CLI:
touch /srv/tftp/C0A8018E.img

Follow previous guide:
Mox netboot requirements of DHCP (remember quotes).
Reboot Omnia.

Wait…

If it still works you can delete file C0A8018E.img (if is still there).
And you can revert file permissions of /srv/tftp/pxelinux.cfg to previous state (just my guess no answer from turris team).

So I decided to factory-reset both routers… with no success - still did not work even on freshly wiped devices => so this is clearly defect in the Turris OS - I suspect the one on Turris Omnia…

Then I read the link provided by Perry (big thanks - seems community cares more than Turris team)…

In short this is what I did (following guidance from Petan there):

  • checked file default-arm-mvebu-turris_mox - indeed it is size 0 (empty)

    root@turris:/srv/tftp/pxelinux.cfg# ls -la
    drwxr-xr-x    1 root     root            56 Jul 14 19:14 .
    drwxr-xr-x    1 root     root            52 Jul 14 19:14 ..
    -rw-r--r--    1 turris-n root             0 Jul 14 19:14 default-arm-mvebu-turris_mox
    
  • removed file default-arm-mvebu-turris_mox

    root@turris:/srv/tftp/pxelinux.cfg# rm default-arm-mvebu-turris_mox
    
  • run netboot-manager regen

    root@turris:/srv/tftp/pxelinux.cfg# netboot-manager regen
    /usr/bin/netboot-manager: line 96: can't create /srv/tftp/pxelinux.cfg/default-arm-mvebu-turris_mox: Permission denied
    
  • fixed owner (I think this is cleaner then setting permissions to 777)

    root@turris:/srv/tftp/pxelinux.cfg# chown turris-netboot /srv/tftp/pxelinux.cfg
    
  • run netboot-manager regen

    root@turris:/srv/tftp/pxelinux.cfg# netboot-manager regen
    
  • checked file default-arm-mvebu-turris_mox - now it has some content

    root@turris:/srv/tftp/pxelinux.cfg# ls -la
    drwxr-xr-x    1 turris-n root           120 Jul 16 16:34 .
    drwxr-xr-x    1 root     root            52 Jul 14 19:14 ..
    -rw-r--r--    1 turris-n turris-n       562 Jul 16 16:34 default-arm-mvebu-turris_mox
    
  • then repeat the procedure here: https://doc.turris.cz/doc/en/howto/mox_network_boot

  • now I can see the MOX router correctly displayed in Forris UI in section Managed Devices > Netboot

  • then I clicked “Accept” and it is displayed in Wi-Fi section - however status there is showing Exclamation Mark icon - so not sure what this means

    image

  • the setup was tested and where was no signal is now good coverage - so it seems it somehow works…

1 Like

I wonder if there is any way how to see if the MOX really works without issues and that the Exclamation Mark icon means…

Update: I checked and there is no Web UI - however there seems to be ssh open - when I tried to connect (tested both password and ssh key) it refused the connection… there is probably some default password coming as part of the image… No idea how to connect to MOX to check it’s heath…

1 Like

Same here.

It is a big progress but still quite far from expected result. No settings are available.

Again, anyone from Turris team willing to help? Otherwise I will create official ticket soon.
MOXes are being delivered and operated and support should react on the issue. Espcially if they seem to be generic and not isolated to single extremely customized configuration.

I already created official ticket two days ago - so far no response…

Thank you very much! I had the same issue, but your small Tutorial helped. The UI is broken too, but my WLan coverage is now perfect.

1 Like

I also got this kind of working for a while with these instructions, but I have never seen that it extends my wifi for real. I have seen the “heart beat” led blinking few days and then it just stopped blinking.

Probably I just wait that Turris team fixes software problems with this, UI at least is half baked and will need some love.

My coverage was extended, but suddenly today MOX stopped working :frowning:
(No heartbeat, just solid red LED)
Reboot doesn’t help. Any idea?

plus 1 Reset of MOX reconnecting in Firefox helped.

I tried it , but I can not bring him back to work again … I started from scratch, but no result.
netboot-manager shows no contend.

I didn’t say I’m on 3.11.6 RC4. I wrote to support, to inform them. Pepe wrote to me that they want release the new TOS 4 for MOX today. But I don’t know if 3.11.X pulls TOS 4 for MOX AP? I don’t have time to look for a solution. I just unplugged MOX, revoked paired device (in Firefox). Reset MOX, and repaired again (in Firefox).

I have similar issues with the users above. Below is the log what I have done to get network boot working for those new owners that are facing problem.

Important: Please remove the SD Card from Turris Mox for network boot.

  1. Reset to factory setting both Turris Omnia & Turris Mox.
  2. Configure Turris Omnia as per before (I reconfigured everything instead of restoring from backup)
  3. Install Turris Mox network boot package from the Updater tab in Foris. Let Turris perform the installation and reboot the device just to make sure.
  4. Connect Turris Mox to Turris Omnia LAN 4 while device is off
  5. Connect Turris Mox to power and let device boot
  6. The Foris UI for the new Managed Devices section does not work properly so I start configuring through SSH instead. Go to terminal and SSH to your Turris Omnia.
  7. Get the Turris Mox that is connected to your Turris Omnia either via Foris UI in Managed Devices -> Netboot or through SSH and run netboot-manager list. Copy the serial for the next step.
  8. In SSH execute the following command: netboot-manager accept $serial. Replace $serial with the serial you have copied in step 7. Wait for the system to do it’s thing.
  9. Once completed you should be able to see your device in Foris UI under Managed Devices -> Set Up & Managed Devices -> Wi-Fi but you will only see exclamation marks as the Foris UI is still not working as should. Congrats your Turris Mox is booting from network and act as an AP. Make sure your Turris Mox LED is blinking like a heartbeat after it fully boot.
1 Like

FWIW, I was encountering many of the issues described here. My two cents:

  • The Turris admin interface seems to support Chrome-based browsers only. In Chrome, netboot correctly shows the MOX device asking to get paired. In Safari and Firefox, the page does not display anything. Simiarly the Setup page - in Chrome, it’s possible to delete a device. In Safari & Firefox, when I click on the delete button, TypeError: undefined is not an object (evaluating 'button[0].localName') is thrown from subordinates-setup:176 (source code).

  • Instructions for performing a factory reset of MOX: Reset modes of Turris MOX

By switching to Chrome and performing a factory reset of my MOX, I was able to successfully restore netboot functionality that did not seem to work after restarting MOX. What’s even better, after I unplug MOX from the power and start it again, it automatically boots from the network.

The only problem that’s still remaining (for me) is the “WI-FI” page that is always waiting for information about devices & channels and never receiving it.

hello, for me, i have empy /srv/tft and /srv/turris-netboot/
so i must run at CLI Omnia this command: netboot-setup

That generate certificate, download netboot image etc. After that i have working MOX netboot AP.
It was helping, if this command could be at official documentation.