RACHEL-Kolibri on Linux Mint

James

Success with option 1!

It looks as if I just was not going back far enough after losing my 13 June snapshot (I had set only 5 generations of snapshot so it got auto-deleted - now changed to 15!).

I restored from 19 May, immediately backed it up again for safety and ran your RACHEL menu.

I then ran the System Update which took a while (20 mins and 26,902 files) and made another backup.

After a reboot I then ran the RACHEL install and it has worked perfectly! There was the same failed message that we had before after dnsmasq but I just ignored that and now have a RACHEL-Kolibri menu ready to add stuff.

Even better setting up the Mint Hotspot (only 4 clicks) has resulted in a SSID “rachel” on 10.10.10.10.

A result. Well done!

Where do we want to go now?

Regards
Andrew

Hi @andrewc,

That’s great! That’s smart to make a backup after updating so you don’t have to wait 20 minutes every time you test. It sounds like everything worked out. I want to confirm a few things before we start moving forward.

  1. Is the ethernet working now and can you download modules?
  2. Is the kolibri-index module working and can you install Kolibri channels?
  3. Is the hotspot persistent?
  4. Is the internet working from a phone connected to the hotspot?
  5. Are you able to access domain names like google.com on the laptop or phone
  6. Can your phone access the rachel interface from “http://rachel.pi” or “http://rachel”.
  7. Are there any errors on the admin “stats” page’s error log?
  8. Do Kiwix modules work after installing?
  9. Can you import Kolibri content with a USB device?

If all of that is working I can start customizing the installer to work with other devices and a few other things. Here’s the list of things I’d like to do.

  1. Make the network interface naming more dynamic. Right now everything uses the hardcoded ones you told me from the ifconfig command but other devices will use different names. I’d like to find a way to automate that so we don’t have any issues with other laptops/hardware.
  2. Future proof it giving the ability to customize some of the arguments like the package versions. This will mean when a package is updated on the operating system like php7.3 goes to php7.4, we don’t have to update the installer every time.
  3. Automate your GUI created hotspot settings in case someone needs to run the installer that doesn’t understand this stuff.
  4. GUI Input at install time for Wifi SSID/Channel and any other relevant settings

That’s about it. These are mostly optional except the network interface names which I know will be an issue on other hardware. I have made GUI installers like this that are more advanced and have been really useful for me when making images so I think we should make it as automated as possible.

James

Hi James

I didn’t get any notification of your post again and just went to look now if you had replied. I don’t know why that isn’t working - it used to work fine.

I’ll get onto these checks for you tomorrow and report back.

Regards
Andrew

Hi @andrewc,

I’m not sure why that’s happening. I did notice some changes to the forums in the past week so I guess they were updated. I generally just check back here a few times a day to be sure I catch any responses.

Hopefully everything is working.

James

Hi James

Having problems with this forum today…

“Sorry new users can only put 2 links in a post”

I have not put any links in!

I have had to retype the whole post to a text file and put it on Google Drive as Post20200623.

I WILL PUT IT IN SAME LOCATION AS BEFORE (IN CASE IT WON’T LET ME PUT THE LINK) - “Post 20200623” and “ifconfig 20200623 on X240”
Link to post

Regards
Andrew

Hi @andrewc,

The forums seem to have been updated to block file upload links from new users. I had to review your first posts with them and approve/restore them but I didn’t see your latest post at all. I just updated your forum membership from “new user” to “regular” so hopefully that doesn’t happen again. If it does let me know and I’ll look at those settings again.

I read through and it looks like our remaining issues are

  1. Persistent GUI hotspot
  2. Internet forwarding
  3. Accessing domain names
  4. Two ip ranges are available

I don’t have much experience with Network Manager so it’s going to take some googling/researching to figure these out. Once the hotspot is persistent we can check the other settings

From this post there’s a comment that says to open /etc/NetworkManager/system-connections/Hotspot and change “autoconnect=false” to “autoconnect=true”. Maybe try editing that with “sudo nano /etc/NetworkManager/system-connections/Hotspot”.

If that works can you paste the output of “sudo iptables --list”. That would tell me if the internet forwarding rules are there and what they are. The internet domain names not being accessible is likely related to internet forwarding not working. When the http://rachel.pi address didn’t work, did you write in the “http://” or just “rachel.pi” ? I’ve noticed on some devices you have to put in the http://.

This post I found talks about that 10.42.0.1 IP. It seems like it’s a DHCP setting that’s set through the network manager interface for connection sharing.

Hope that works.

James

Hi James

change “autoconnect=false” to “autoconnect=true”
Well done. Hotspot is now persistent!

did you write in the “http://” or just “rachel.pi”
I typed it in full. if you don’t Firefox does an internet search for rachel.com.

It seems like it’s a DHCP setting that’s set through the network manager interface for connection sharing.
I can’t see where to change that. The only interfaces I see for Network Manager are from the Network icon and that just gives Network Settings and Network Connections.

I have posted the output “iptables list” on the Google Drive link.

IPtables List

Regards
Andrew

Hi @andrewc ,

Great! The hotspot is the biggest thing to tackle so that’s perfect. Can you send me the “/etc/NetworkManager/system-connections/Hotspot” file? I would like to add it to the installer and take a look at the settings in it so I can see if we can automate the creation of it.

I’d like to avoid people going to rachel.com when the internet is working. Seems like a weird site. We can change the domain name in /etc/dnsmasq/dnsmasq.conf to anything you want so let me know if you have another name you think would be good.

I’m going to do some more research on that 10.42 IP to better understand what’s going on. It looks like there are some iptables rules set for that connection and I’m wondering if that’s interfering or the commands at runtime are set for that instead of the other range. I’ll let you know when I find something.

James

Hi James

I don’t seem to have permissions to copy the file but here are the contents:-
GNU nano 2.9.3 /etc/NetworkManager/system-connections/Hotspot

[connection]
id=Hotspot
uuid=e973b865-9ee8-4a73-a7ad-a9f1100a9605
type=wifi
autoconnect=true
permissions=
timestamp=1592920741

[wifi]
mac-address=CC:3D:82:4E:E9:CC
mac-address-blacklist=
mode=ap
seen-bssids=CC:3D:82:4E:E9:CC;
ssid=rachel

[wifi-security]
group=ccmp;
key-mgmt=wpa-psk
pairwise=ccmp;
[ Read 30 lines ]

FWIW that MAC address is the WiFi adaptor.

For my part I would not worry too much about the search going to rachel.com as our schools are unlikely to be internet connected for some time. But if you want we could make it reachelfriends.org :slight_smile:

Regards
Andrew

Hi @andrewc,

Great. We can try adding that to the installer if you want. If copying that file over works to set up the wifi manualy, then I can start adding some code and settings to make it work automatically.

For the 10.42 issue. Can you try the following.

  1. Click the network icon in the task bar
  2. Click Network connections
  3. Select your wired ethernet connection and click the gear icon
  4. Click IPv4 Settings
  5. Take note of what the “method is”. If it says “share to other computers” or not
  6. Change the method to Automatic ( DHCP ) and save
  7. reboot
  8. Check if the 10.42. IP is in the output of an ifconfig command

That should have fixed the weird ip to be one assigned from your router. Then we can try setting the iptables rules if that ip isn’t there anymore.

What I think I’ll do is add an option to change the rachel home page in the installer. That should be helpful.

James

Hi James

Checked that, but the wired connection is already set to Automatic (DHCP)

The WiFi adaptor is set to “share to other computers” as soon as I make it a Hotspot.

Strangely, the ifconfig only shows the address being shared as 10.42.0.1

user1@rachel:~$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.38 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::2f99:3cb9:434:a830 prefixlen 64 scopeid 0x20
ether 68:f7:28:7a:34:2a txqueuelen 1000 (Ethernet)
RX packets 121126 bytes 39889384 (39.8 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 39585 bytes 7931566 (7.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf0600000-f0620000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 2224 bytes 611133 (611.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2224 bytes 611133 (611.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::5359:c2ec:621e:c9b prefixlen 64 scopeid 0x20
inet6 fe80::60ef:f222:4d9f:fc0 prefixlen 64 scopeid 0x20
ether cc:3d:82:4e:e9:cc txqueuelen 1000 (Ethernet)
RX packets 19814 bytes 4379264 (4.3 MB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 19089 bytes 12931581 (12.9 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

So I don’t know how the Dell laptop is able to connect also on 10.10.10.10 - but it still does!

Regards
Andrew

James

This is really weird. I have not changed anything (apart from shutting down the machines overnight) but they are all now able to access internet sites via the rachel hotspot!

That applies to my android phone and tablet, the Dell laptop on Mint and the X240 on Mint.

Trying to get my head round this. I use a little network tool called Fing that shows all the devices on the LAN. It sees the 10.10.10.10 host, the tablet and phone on 10.10.10.x IPs but does not seem to see the 10.42.0.1. As these are two different subnets I can’t see how RACHEL is accessible on both (although I think it is valid for an adaptor to have 2 IPs).

???
Regards
Andrew

Hey Andrew,

The 10.42.0.1 address seems to be something that routes the network to share the wired connection. I was hoping to get rid of it with changing those settings. Did you go through those steps above before getting this result or did it happen before you tried those? Also, is the 10.42 address in the output of an ifconfig command still?

I’ve used fing on ios before and saw some strange results so it’s possible that it’s the app itself too.

James

Hi James

Well I didn’t actually change anything following your steps above as the ethernet adaptor was already set for DHCP.

And firing it up again tonight the hotspot is still happily sharing internet access. It definitely was not doing that previously so unless Mint has some element of self-repair built in I don’t know what changed that.

Whilst I am happy that it is working I always want to know why something is so, and thus whether it will be replicated when we do another install.

ifconfig still shows the 10.42. IP range but not the 10.10.

user1@rachel:~$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.38 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::2f99:3cb9:434:a830 prefixlen 64 scopeid 0x20
ether 68:f7:28:7a:34:2a txqueuelen 1000 (Ethernet)
RX packets 12863 bytes 13682288 (13.6 MB)
RX errors 4 dropped 0 overruns 0 frame 2
TX packets 3780 bytes 705196 (705.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf0600000-f0620000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 436 bytes 47904 (47.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 436 bytes 47904 (47.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.42.0.1 netmask 255.255.255.0 broadcast 10.42.0.255
inet6 fe80::60ef:f222:4d9f:fc0 prefixlen 64 scopeid 0x20
inet6 fe80::5359:c2ec:621e:c9b prefixlen 64 scopeid 0x20
ether cc:3d:82:4e:e9:cc txqueuelen 1000 (Ethernet)
RX packets 775 bytes 173846 (173.8 KB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 898 bytes 434938 (434.9 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

user1@rachel:~$

Just doing a bit more digging…

The x240 is allocating client addresses to all the devices on the hotspot in the 10.10.10.x range despite the RACHEL menu saying that it is connected to 10.42.0.1. (and showing LAN correctly as 192.168.1.38). Is there some kind of alias IP going on here?

Some info here: Link that does not seem to tie up with the IP range we are getting on DHCP.

" By default wifi hotspot get 10.42.0.1 IP address and the network is 10.42.0.0/24 . In the background NetworkManager runs a DHCP server through dnsmasq which will provide IP address to all wifi users from 10.42.0..0/24 network."

Regards
Andrew

Hi Andrew,

The main page of RACHEL parses the output of an ifconfig command to show the lan/wifi interface’s assigned IP addresses, so that is correct. DHCP addresses are all set in the 10.10.10.100 - 10.10.10.199 range in the dnsmasq.conf file used as part of the RACHEL install. The wifi adapter has an ip of 10.42.0.1 because it’s being set by Network Manager and because the static ip setting from our dhcpcd file is being ignored by it. The reason the network is working is anything on the network is being forwarded through the iptables rules to “anywhere”.

So the only thing to do is figure out how to override Network Manager and set the IP to 10.10.10.10 for the wifi interface. This could be editable in the ipv4 settings menu for the hotspot connection like from above. If not, you can try /etc/network/interfaces and see if the 10.42.0.1 IP is set there and change it to 10.10.10.10.

When this is all figured out you should definitely do another fresh install with an updated installer to make sure it’s all working.

James

Hi James

I have not found anything in the GUI Network Connections interface yet that displays and allows me to change that IP.

interfaces currently reads as follows:-

interfaces(5) file used by ifup(8) and ifdown(8)

auto lo
iface lo inet loopback

So the 10.42.0.1 must be held somewhere else.
I can try ADDing that IP in the IP4 Settings tab and see what happens.

UPDATE That worked! And it still routes through to internet.
user1@rachel:~$ ifconfig
enp0s25: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.38 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::2f99:3cb9:434:a830 prefixlen 64 scopeid 0x20
ether 68:f7:28:7a:34:2a txqueuelen 1000 (Ethernet)
RX packets 416 bytes 129907 (129.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 305 bytes 70517 (70.5 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 20 memory 0xf0600000-f0620000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 354 bytes 125672 (125.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 354 bytes 125672 (125.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.10 netmask 255.255.255.0 broadcast 10.10.10.255
inet6 fe80::5359:c2ec:621e:c9b prefixlen 64 scopeid 0x20
inet6 fe80::60ef:f222:4d9f:fc0 prefixlen 64 scopeid 0x20
ether cc:3d:82:4e:e9:cc txqueuelen 1000 (Ethernet)
RX packets 309 bytes 66361 (66.3 KB)
RX errors 0 dropped 1 overruns 0 frame 0
TX packets 385 bytes 249277 (249.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

user1@rachel:~$

We are there, I think.

Regards
Andrew

Hi Andrew,

Okay great. So to confirm, is everything working now? I’d like to look at automating more of this but it would take some testing.

James

One more thing I should mention. Versions are hardcoded right now in the RACHEL admin interface. The installed Kolibri version is likely 0.13.3, while the interface says 0.13.2. This is set in /etc/kolibri-version. You may want to change that for clarity. In the future I’d like all versioning to be automatic in the version page.

James

Hi James

I’m happy to continue testing it if you want to automate a bit more.

Would you be able to replicate in your install routine what I did in the Network Manager to set up the 10.10.10.10 IP for the hotspot?

What we probably ought to do also is retest it all from a clean install, including the change to make the hotspot persistent and make sure everything runs OK.

Let me now how you want to proceed.

UPDATE
Successfuly edited kolibri-version to reflect current version as 0.13.3. Needed root permissions.

Regards
Andrew

Hi Andrew,

I’m going to work on getting it all completely automated. I’m just clearing off a hard drive that I can use to boot Mint from and then go from there. These are the things I plan to do.

  1. Automatic interface naming in files to avoid having to hard code them. Currently if you run the installer on any other device it won’t work because of this. I also want that interface naming working before the iptables rules are set.

  2. Automated hotspot configuration. This is going to require me testing a lot. I need to test code that replaces network manager files and make sure they are set to default. This will include the 10.10.10.10 static ip setting.

  3. Changing Individual wifi settings like channel/SSID

  4. Changing DNS settings like the default web page for RACHEL

If you have any other suggestions let me know. I will probably have this ready in a few days but you never know with Network Manager haha.

James