Ichimusai

Photos and other rants

Meny Stäng

Etikett: wifi

Ubuntu persistent network interface names

In Ubuntu 16.x the systemd is used more than in the previous versions. This also means it is now responsible for setting up your network cards. Many people have been sort of surprised that their eth0 have changed to something like enp0s25. This is of course an improvement from before, there was no real telling in which order NICs would be assigned names so potentially a hardware change could offset eth0 and eth1 and so on.

The new way is actually not too bad but if you like me do a lot of manual configurations on the fly to the network interfaces their names can be tedious to type and also remember. But of course there is a rather simple mechanism to change this so you can select your own names for the interfaces such as lan0 and dmz1 or why not wifi plain and simple if there is never to be any more than one wifi card in the computer.

This is a step-by step guide that was tested under Ubuntu 16.10 and worked for me. Please leave your comments if you have problems, improvements or any such things to add.

Getting the names

First of all we need to find out what the names of the NICs we have in the system actually are. Here is a dump from my laptop using the ifconfig command to list all interfaces:

root@kraken:~# ifconfig -a
enp0s25: flags=4098<BROADCAST,MULTICAST> mtu 1500
 ether f0:de:f1:8d:89:fe txqueuelen 1000 (Ethernet)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 0 bytes 0 (0.0 B)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 device interrupt 20 memory 0xf2a00000-f2a20000

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

wlp3s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
 inet6 fe80::846f:cc3d:2984:d240 prefixlen 64 scopeid 0x20<link>
 ether 00:24:d7:f0:a3:a4 txqueuelen 1000 (Ethernet)
 RX packets 4600 bytes 5069857 (5.0 MB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 3348 bytes 592050 (592.0 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wwp0s29u1u4i6: flags=4098<BROADCAST,MULTICAST> mtu 1500
 ether 02:80:37:ec:02:00 txqueuelen 1000 (Ethernet)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 0 bytes 0 (0.0 B)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

We are looking for two things in the above, the MAC address and the name of the network interface card we want to rename. The NICs we have here are named after the type of card, the bus it is attached to etc. What used to be called eth0 is now referred to as enp0s25 and wlan0 is wlp3s0 and there is also a WAN card in the machine called wwp0s29u1u4i6 which definitely is a mouthful.

Okay, so we would like to rename these to more sensible names. First we pick the names such as eth0, wlan0, wan0 etc. Then we note down the MAC address of each card. You find this highlighted in red in the above dump next to the keywork ”ether”. Once we have that we can tell the systemd to rename the cards in the way we want. By connecting the name to the MAC address it should also be persistent and not affected by inserting a new card into the computer system.

In directory /etc/systemd/network we will create the following files:

root@kraken:/etc/systemd/network# ll
 total 20
 drwxr-xr-x 2 root root 4096 Dec 11 04:28 ./
 drwxr-xr-x 5 root root 4096 Nov 24 15:03 ../
 -rw-r--r-- 1 root root 55 Dec 6 23:44 01-eth0.link
 -rw-r--r-- 1 root root 56 Dec 6 23:39 02-wifi.link
 -rw-r--r-- 1 root root 55 Dec 6 23:40 03-wan.link

These link files can be used to match a device and then change its parameters. So they consists of a matching section and then a link section. The first one called 01-eth0.link contains the following lines:

[Match]
  MACAddress=f0:de:f1:8d:89:fe

[Link]
  Name=eth0

We can then create the other ones in the same way. When we are done with that we need to do two things. First we need to update the initial ram file system in boot because some of these may already be up during boot time (such as eth0). This is done with the following command:

root@kraken:/etc/systemd/network# update-initramfs -u
 update-initramfs: Generating /boot/initrd.img-4.8.0-30-generic
 W: Possible missing firmware /lib/firmware/i915/kbl_guc_ver9_14.bin for module i915
 W: Possible missing firmware /lib/firmware/i915/bxt_guc_ver8_7.bin for module i915
 W: mdadm: /etc/mdadm/mdadm.conf defines no arrays.

Once we have done this we can reboot our computer.

When up again we can check the network names again:

anders@kraken:~$ ifconfig -a
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
 ether f0:de:f1:8d:89:fe txqueuelen 1000 (Ethernet)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 0 bytes 0 (0.0 B)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 device interrupt 20 memory 0xf2a00000-f2a20000

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

wan0: flags=4098<BROADCAST,MULTICAST> mtu 1500
 ether 02:80:37:ec:02:00 txqueuelen 1000 (Ethernet)
 RX packets 0 bytes 0 (0.0 B)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 0 bytes 0 (0.0 B)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
 inet 192.168.1.3 netmask 255.255.255.0 broadcast 192.168.1.255
 inet6 fe80::1ed7:d5ac:433d:70c5 prefixlen 64 scopeid 0x20<link>
 ether 00:24:d7:f0:a3:a4 txqueuelen 1000 (Ethernet)
 RX packets 93 bytes 71048 (71.0 KB)
 RX errors 0 dropped 0 overruns 0 frame 0
 TX packets 137 bytes 18113 (18.1 KB)
 TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

As you can see we now have eth0, wlan0 and wan0 instead of the default names. So if you like me work from the command line mainly you will be happy that ifconfig eth0 now works just like it did before the systemd entered the scene and if you have firewall scripts you can of course rename your interface to something that is useful to you such as lan, wan and dmz or whatever makes sense.

Wifi-problem med iRiver Story HD

En god vän till mig har haft problem med att få WiFi att fungera på iRiver Story HD. Symptomen är att under installationen (första uppstarten efter fabriksåterställning) av enheten så hittar den visserligen WiFi-nät men efter anslutning säger den att det är ett nätverksfel och sedan fungerar det inte att komma i kontakt med t.ex. bibliotekets websida.

Efter att ha lagt tassarna på en sådan enhet själv kan jag konstatera att det är ett problem som kan kringgås men man behöver göra lite speciella grepp för det. Såhär gjorde jag:

  1. Starta plattan och välj fabriksåterställning om du inte redan är i det läget.
  2. Gå igenom alla delar av inställningarna tills du kommer till wifi
  3. Anslut till ett okrypterat öppet nät†, om det inte finns något sådant där du är kan du eventuellt om du har en smartphone skapa ett från din telefon tillfälligt.
  4. När plattan är ansluten försöker den nå nätet.
  5. Ett meddelande om att nätet inte fungerar kommer upp och du uppmanas trycka ”BACK/BAKÅT” men gör INTE det. Tryck i stället ENTER.
  6. Här kan två saker hända, antingen så laddar den bibliotekets ELIB-sida, eller så kommer du tillbaka till huvudmenyn. Om ELIB-sidan laddas kan du vänta en stund, du bör få en fråga om du vill uppdatera programvaran i plattan, svara ja på det. Om du i stället kom tillbaka till huvudmenyn i plattan gå till optionsmenyn och leta upp uppdateringen av programvaran och kör den manuellt.
  7. När plattan startar om efter uppdateringen kan du stänga av nätverket du delade ut från din telefon om du nu gjorde det.
  8. När plattan startat igen kan du gå till optionsmenyn och välja att slå på wifi. Du skall nu kunna ansluta till wifinät och komma till bibliotekets hemsida och låna böcker.

Efter uppdateringen skall inte nätverksproblematiken uppstå igen.

† Det är inte säkert det måste vara ett öppet (okrypterat) nät men jag gjorde det för enkehets skull när jag testade och då fungerade det. Om det fungerar trots krypterat nät att följa denna instruktion för dig, låt mig då veta det eftersom de flesta i dag har krypterade nät där de sitter.

 

Skapa ett moln i kollektivtrafiken

Jag har en idé till ett litet socialt experiment, varför inte dela med dig av lite Internet när du åker i kollektivtrafiken? Många mobiler i dag kan sätta upp en så kallad ”hot spot” där man kan dela med sig av sin internetanslutning via Wifi.

Om man ställer in den så att nätet or okrypterat och med SSID (namn) ”SL Passenger” om man åker buss, tåg eller båt med SL (och en annan lämplig förkortming med andra bolag) där du är så kan personer som inte har uppkoppling på sitt abonnemang, dvs många kontantkort och turister ändå kolla sin mail lite snabbt.

Egenhändigt experimenterande visar att risken för missbruk är låg och det är ganska många som ansluter och försöker surfa lite gratis. Idén föddes då jag hade vänner från England på besök och detta kan vara vårt sätt att dra ner på roamingavgifterna till operatörerna som i många fall tar helt oskäligt betalt. I Kanada vill de tex ha 105 kanadensiska dollar per megabyte när jag är där. Det är sjukt.

Så i en anda av att hjälpa dina medmänniskor, varför inte erbjuda dem lite wifi, det är ju så uppskattat!

Om du ser ”SL Passenger” i stockholms kollektivtrafik eller motsvarande på andra ställen, varför inte lämna en kommentar här, det vore roligt att se om fler och fler börjar göra detta.

iRiver Story HD Wifi Bibliotek

Min favoritläsplatta har nu kommit i en uppdaterad version som har direkt koppling till svenska biblioteks utlåning av Eböcker!

Jag har inte testat den själv, har inte haft anledning byta upp mig från min fina vanliga Story HD ännu men om jag skulle köpa en i dag skulle jag direkt slå till.

Endast 200 kr extra för en läsplatta där du ej behöver tillgång till annan dator för att låna och läsa böcker, bara ett wifinät behövs. Ja och ett lånekort också. Sedan är det faktiskt bara att tuta och köra enligt uppgift.

Villhafaktorn är rätt stor på den här egentligen men det går rätt smidigt att låna biblioteksböcker med den gamla iRiver Story HD också om man installerar Adobe Digital Editions på sin Windows- eller Mac-dator.

Se min recension på originalplattan.