Turris Mox as a repeater (bridge) and Nextcloud server

Hello everyone,
this is a work in Process, i have some troubles to get it startet and i belive that i´m not the only one and not the last one. If you find something that you have solved or you have ideas how to solve it, i am happy to hear about it and i integrate it in this “how to”.

I bought a Turris mox with the following components:
A,G,F,E and the add ons mpcle and mimo3x3.
The current goal is to use it as a repeater (shared apartment) and for me as a nextcloud server.
I’ve had a few attempts to install it as a repeater but so far I’ve only managed to remove the cable between it and the router but not the one between it and my laptop. As it turned out later, that was more a coincidence than a possibility because I later felt that I had broken it when I tried to set up nextcloud and now I can’t even get it back to the way it was before. I’ve already tried several instructions and still seem to have missed something somewhere. It is currently in factory setting + the questionnaire as router.
Version number: 5.1.10
Installed packages are: Extensions of network protocols for 3G/LTE, Data Collection, Hardening, LuCI extensions (adBlock),Turris MOX network boot and Nextcloud.
Incidentally, I despaired of the errors 504 and 404 with Nextcloud. However, I am also not sure whether the external hard disks (or even just one) are supplied via F. I currently only have 1 power cable connected to F.
If others are interested in this post, it would also be nice to know what you need at least for it, I’m not sure yet if I’m still missing something.
So if someone can help a BDU I would be happy :wink:

I think it is best to write a “how to” and show the steps I have taken and add to it until it works.

Warning: this tutorial does not yet lead to the desired goal (repeater).

What you need: ( As I understand it so far)

Hardware:
-at least module A with mimo 2x2
-2 lan cable (from router to Turris mox and from mox to PC)

Software:
-Access to Luci (set up password under reforis->Administration->Password under the tab “Password Settings Current Foris password” needs your current password and under “Foris Password” you then enter the access for Luci.
-Ip address and password of the router
-Package: Reforis->Package Management->Packages please select “Turris MOX network boot”.

Step by step instructions:

  1. enter “https://192.168.1.1/” in the address field of your browser and enter your password in the Luci tab.
  2. under Network->WIFI the tab “WLAN overview” delete all entries that are there (unfortunately it didn’t work any other way for me…). If anyone here has another solution, I’m happy to get help).
  3. still in the “WLAN overview” tab. Select the “search” button. This may take up to a minute, depending on the search. Select the desired network. For future ease of understanding, I will now call this network “Sweet Home”.
  4. A window opens called “Join network “Sweet Home””. Enter the key of “Sweet Home” under WPA key and switch from Wan to Lan under “Create / Assign Firewall Zone”. save
  5. a new window opens with the name “WLAN network: Client “Sweet Home””.
    Here, under “Operating frequency”, change the mode from AC to Legacy.
    and select “wan6” or “wan” under “Network”. save
  6. “Save and apply” I had overlooked this step once and then it didn’t take over everything.
    (If everything up to this point is correct, your network (in my case) “Sweet Home” should now appear under “Associated Clients” with a “?” under “Host”).
  7. Now go to Network-> Interfaces. Create a new interface and give it a name. I called it “wifi-connection” and set the protocol to “thcp client”. Put a tick under "Network bridge
    "and add “lan1” to “lan8” and “Sweet home”.
    then select “wan” under the “Firewall” tab. “save” and "save and apply

Now we have a wifi bridge between the two routers.

  1. Go to Network->Wifi and click Add.
    I have assigned other names and passwords to make it easier to see if everything is working.
    Under the “Interface configuration” tab, I selected “Access point” in “Mode” and added it to the “Lan” network in “Network”.
    You can add a password under “Wlan encryption”. Save, save and apply.
  2. Now go back to Network->Interface and open a new interface.
    Give it a name, I called it “Bridge”. That’s what it should do. Now select Relay Bridge under Protocol. confirm.
    In the new window, select the two networks you just expanded under “Forward between the following networks”. In our case “lan” ,“wifi-connection” and “wan” and in the firewall settings under “Create / assign firewall zone” please select “wan”.

Now a WLAN network has also been added.

At the moment I have to start it twice for whatever reason. then it starts up and it works… if anyone has any ideas :point_down:t3:
how it will actually be a repeater? at the moment there are two networks coexisting. In my case, this is not a problem because the range of the first network does not extend so far that it still wants to connect. Nevertheless, it can … I don’t know… the wind can be good and suddenly it does have reception to both.
All the instructions I have found so far diverge from here on and for some reason they have steps that I have already completed (possibly an outdated version? or not saved?).

Who knows from here on I am happy about the additions

I think it is best to write a “how to” and show the steps I have taken and add to it until it works.

Warning: this tutorial does not yet lead to the desired goal (nextcloud).

What you need: ( As I understand it so far)

Hardware:
-at least module A and module F

  • External storage (ideally with its own power supply) (Apparently, at least in my setup, there is not enough power for the USB ports)

Software:
-Access to Luci (set up password under reforis->Administration->Password under the tab “Password Settings Current Foris password” needs your current password and under “Foris Password” you then enter the access for Luci.
-Package: Reforis->Package Management->Packages please select “Nextcloud” and “NAS”

Step by step instructions:

  1. connect hard disk. !!! Not in the slot of module A !!! I don’t know why but after that I had to do a factory reset.
  2. Log in to Foris and select the desired hard disk under the “Storage” tab. !!! The hard disk is formatted here, so ideally it should be empty or you are 100% sure that there is nothing on it that you might need again sometime!!!

To be honest, this is where it stops because I get the error “503 Service Not Available” when I go to nextcloud and I can’t find the GUI for entering the codes or how to get there…
Thanks for the help here too

If you get it working, let us know : G + F are known to be unstable/unusable.

Has anyone got any further than I have so far? i hope so
I think the easiest solution would be to get another A and have an AG and an AF, for example, if there are problems in between… Do the problems also concern the points I am trying to achieve here? Is what I want to do also possible without G or F?

someone here has a similar problem but I don’t know where he enters the code… -.-

You need to connect to your Mox via SSH then write in the terminal :

fw_setenv quirks pci=nomsi

I can’t remember whether I tried this solution or not. Let me know !

Sorry I updated the my comment. It was used from SSH command shell. The modules G and F are not source of issues anymore. But in the case you use the F module, You should power the MOX by use of powerconnector on the F module.

i do :wink: Have you got all the external usb connections from F working? or are you doing it via a hub?

Yes, I use all USB connectors on the F module. I have the three GNSS receivers, distrometer and one anemometer connected to F module ports.
We using it on the roof of measuring cars.

@kaklik I tried again the F + G combo with your solution and my Mox starts rebooting when heavy use (copy of hundreds of Go) of the USB module.
Which A do you have : the 512MB or the 1GB ?

@solphae : same question, which version do you have ?

If I understand the display in Luci -> Overview correctly, then this is for SWAP and is 512 correct for me?

In Luci, Overview this is the Total Available :grin:

1 GB

at the moment i fight with the storage… mox dont recognise any ext. storage i put in no matter where…

1 Like

I am using the A module with 1GB of RAM.

1 Like

Did you install the NAS packages to enable some tools like mount options ?

ksnip_20210504-155514

yes i had already installed it, but good to know there are important dependencies, i’ll add it to the top of the list. In fact, the driver for usb3 was not installed for me.
if someone else struggled at this problem:

ssh root@192.168.1.1
to find out if this is the problem
opkg list | grep -e usb
if there is listet “kmod-usb3” everything is fine, if not do
opkg install kmod-usb3
exit

it has not helped me yet :frowning: it even crashes when I go to “Storage” and reports various errors as soon as an external is connected.

Traceback (most recent call last):
File “/usr/lib/python3.7/site-packages/foris/middleware/reporting.py”, line 93, in call
File “/usr/lib/python3.7/site-packages/foris/middleware/backend_data.py”, line 86, in call
File “/usr/lib/python3.7/site-packages/bottle_i18n.py”, line 68, in call
File “/usr/bin/bottle.py”, line 979, in call
File “/usr/bin/bottle.py”, line 954, in wsgi
File “/usr/bin/bottle.py”, line 862, in _handle
File “/usr/bin/bottle.py”, line 682, in mountpoint_wrapper
File “/usr/bin/bottle.py”, line 979, in call
File “/usr/bin/bottle.py”, line 954, in wsgi
File “/usr/bin/bottle.py”, line 862, in _handle
File “/usr/bin/bottle.py”, line 1742, in wrapper
File “/usr/lib/python3.7/site-packages/foris/utils/init.py”, line 79, in wrapper
File “/usr/lib/python3.7/site-packages/foris/config/init.py”, line 188, in config_page_get
File “/usr/lib/python3.7/site-packages/foris_plugins/storage/init.py”, line 35, in render
File “/usr/lib/python3.7/site-packages/foris/backend.py”, line 102, in perform
File “/usr/lib/python3.7/site-packages/foris/backend.py”, line 85, in perform
File “/usr/lib/python3.7/site-packages/foris_client/buses/mqtt.py”, line 363, in send
TimeoutError

Environment

{‘CONTENT_LENGTH’: ‘0’,
‘DOCUMENT_ROOT’: ‘/www’,
‘GATEWAY_INTERFACE’: ‘CGI/1.1’,
‘HTTPS’: ‘on’,
‘HTTP_ACCEPT’: ‘text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8’,
‘HTTP_ACCEPT_ENCODING’: ‘gzip, deflate, br’,
‘HTTP_ACCEPT_LANGUAGE’:
‘HTTP_CONNECTION’: ‘keep-alive’,
‘HTTP_COOKIE’: ‘_csrf_token=e1cf3ea21134d63abaa1d31e8acb2023018234b9; ’
‘session=1e849bb3-902d-4c25-a8aa-deaa892bae46; ’
‘foris.session=d7fa04c334980fe88bbf1febe8b3ab7e; ’
‘foris.ws.session=3b9f44bdef1fa0165950d85352e37c91’,
‘HTTP_HOST’: ‘192.168.1.1’,
‘HTTP_REFERER’: ‘https://192.168.1.1/foris/config/main/notifications/’,
‘HTTP_UPGRADE_INSECURE_REQUESTS’: ‘1’,
‘HTTP_USER_AGENT’: ’
‘PATH_INFO’: ‘/main/storage/’,
‘PATH_TRANSLATED’: ‘/www/main/storage/’,
‘QUERY_STRING’: ‘’,
‘REDIRECT_STATUS’: ‘200’,
‘REMOTE_ADDR’: ‘192.168.1.170’,
‘REMOTE_PORT’: ‘56488’,
‘REQUEST_METHOD’: ‘GET’,
‘REQUEST_SCHEME’: ‘https’,
‘REQUEST_URI’: ‘/foris/config/main/storage/’,
‘SCRIPT_FILENAME’: ‘/www/foris/config’,
‘SCRIPT_NAME’: ‘/foris/config’,
‘SERVER_ADDR’: ‘192.168.1.1’,
‘SERVER_NAME’: ‘192.168.1.1’,
‘SERVER_PORT’: ‘443’,
‘SERVER_PROTOCOL’: ‘HTTP/1.1’,
‘SERVER_SOFTWARE’: ‘lighttpd/1.4.55’,
‘SSL_CIPHER’: ‘TLS_AES_256_GCM_SHA384’,
‘SSL_CIPHER_ALGKEYSIZE’: ‘256’,
‘SSL_CIPHER_USEKEYSIZE’: ‘256’,
‘SSL_PROTOCOL’: ‘TLSv1.3’,
‘bottle.app’: <bottle.Bottle object at 0x557004af40>,
‘bottle.raw_path’: ‘/storage/’,
‘bottle.request’: <LocalRequest: GET https://192.168.1.1/foris/config/main/storage/>,
‘bottle.request.urlparts’: SplitResult(scheme=‘https’, netloc=‘192.168.1.1’, path=’/foris/config/main/storage/’, query=’’, fragment=’’),
‘bottle.route’: <GET ‘/<page_name:re:.+>/’ <function config_page_get at 0x5570000720>>,
‘foris.backend’: MqttSender(‘localhost:11883’),
‘foris.language’: ‘en’,
‘foris.session’: <foris.middleware.sessions.SessionForisProxy object at 0x55701b8520>,
‘foris.session.data’: {‘csrf_token’: ‘2gUJIg15ywY2B7YGCgVJ6qMbs8JN5Txl’,
‘user_authenticated’: True},
‘foris.session.id’: ‘d7fa04c334980fe88bbf1febe8b3ab7e’,
‘foris.version’: ‘101.1.1’,
‘route.handle’: <GET ‘/<page_name:re:.+>/’ <function config_page_get at 0x5570000720>>,
‘route.url_args’: {‘page_name’: ‘storage’},
‘wsgi.errors’: <flup.server.fcgi_base.OutputStream object at 0x5570144c40>,
‘wsgi.input’: <flup.server.fcgi_base.InputStream object at 0x55701a4140>,
‘wsgi.multiprocess’: False,
‘wsgi.multithread’: True,
‘wsgi.run_once’: False,
‘wsgi.url_scheme’: ‘https’,
‘wsgi.version’: (1, 0)}

ok i dont know what happend but after i installed this list
INFO:Queue install of kmod-md-mod/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-linear/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-multipath/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-raid0/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-raid1/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-raid10/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of kmod-md-raid456/core/4.14.222-1-b05c242413ba31ef0a03c70a9c2877a9
INFO:Queue install of mdadm/base/4.1-2
after that it found one of my hard disks once. i thought okay maybe the other one is at a not working usb slot and now it finds nothing again…

OK, I’m one step further, it must be a software error.

If I restart the turris,
connect to the router via ssh.
then search
dmesg
Then plug in the hard drive and again
dmesg
It finds:
[ 217.810594] usb 3-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 217.853300] scsi host0: uas
[ 217.858448] scsi 0:0:0:0: Direct-Access SanDisk Extreme SSD 1012 PQ: 0 ANSI: 6
[ 217.871427] scsi 0:0:0:1: Enclosure SanDisk SES Device 1012 PQ: 0 ANSI: 6
[ 217.880119] sd 0:0:0:0: [sda] 1953523712 512-byte logical blocks: (1.00 TB/932 GiB)
[ 217.887804] sd 0:0:0:0: [sda] 4096-byte physical blocks
[ 217.894465] sd 0:0:0:0: [sda] Write Protect is off
[ 217.899269] sd 0:0:0:0: [sda] Mode Sense: 67 00 10 08
[ 217.901083] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, supports DPO and FUA
[ 217.911224] sd 0:0:0:0: [sda] Optimal transfer size 33553920 bytes not a multiple of physical block size (4096 bytes)
[ 218.023252] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, supports DPO and FUA
[ 218.035192] sd 0:0:0:0: [sda] Attached SCSI disk

with lsusb -t
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 5000M

However, when I put the hard disk in another slot or click on “Storage” it is gone and i only get it back after reboot.