Pradeep Singh | 1st Sep 2017
1. Prerequisites:
Before beginning with this article, you should have piCore up and running on your Raspberry Pi. If you need help with piCore installation you can go through the following article –
piCore (Tiny Core) Linux on Raspberry Pi
2. Hardware and Software Details:
Most of the piCore configurations are very specific to the hardware and software versions. Following are the details of piCore and Raspberry Pi, I am using for this article –
2.1 piCore Image – I am using “piCore-9.0.3.zip” piCore image downloaded from the following url –
http://distro.ibiblio.org/tinycorelinux/9.x/armv6/releases/RPi/
2.3 Hardware – I am using Raspberry Pi 3 with built-in WiFi module.
3. Install Linux Packages:
To the WiFi module work you need to install the Firmware for built-in module and the CLI based wifi utility –
3.1 Install firmware for built-in wifi module using the “tce-load –wi firmware-rpi3-wireless.tcz” command –
tc@box:/usr/local/bin$ tce-load -wi firmware-rpi3-wireless.tcz Downloading: firmware-rpi3-wireless.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) firmware-rpi3-wirele 100% |********************************************************| 248k 0:00:00 ETA firmware-rpi3-wireless.tcz: OK tc@box:/usr/local/bin$
3.2 Install CLI based wifi tool module for piCore using the “tce-load -wi wifi.tcz” command –
tc@box:~$ tce-load -wi wifi.tcz wifi.tcz.dep OK wireless_tools.tcz.dep OK wpa_supplicant.tcz.dep OK readline.tcz.dep OK Downloading: readline.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) readline.tcz 100% |********************************************************| 116k 0:00:00 ETA readline.tcz: OK Downloading: libnl.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) libnl.tcz 100% |********************************************************| 240k 0:00:00 ETA libnl.tcz: OK Downloading: wpa_supplicant.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) wpa_supplicant.tcz 100% |********************************************************| 364k 0:00:00 ETA wpa_supplicant.tcz: OK Downloading: wireless-4.9.22-piCore-v7.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) wireless-4.9.22-piCo 100% |********************************************************| 2544k 0:00:00 ETA wireless-4.9.22-piCore-v7.tcz: OK Downloading: libiw.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) libiw.tcz 100% |********************************************************| 16384 0:00:00 ETA libiw.tcz: OK Downloading: wireless_tools.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) wireless_tools.tcz 100% |********************************************************| 40960 0:00:00 ETA wireless_tools.tcz: OK Downloading: wifi.tcz Connecting to repo.tinycorelinux.net (89.22.99.37:80) wifi.tcz 100% |********************************************************| 8192 0:00:00 ETA wifi.tcz: OK tc@box:~$
4. Reboot Raspberry Pi:
Reboot your Raspberry Pi so that piCore can detect built-in WiFi module by installing the firmware and expose the wlan0 interface. You can use “sudo reboot” command to reboot the system.
5. Connect to WiFi Network:
After system boot up run WiFi CLI interface using the “sudo /usr/local/bin/wifi.sh” command. You will be prompted with a list of available WiFi Networks. Select your WiFi SSID and enter the password associated with that.
tc@box:~$ sudo /usr/local/bin/wifi.sh Found wifi device wlan0 Standby for scan of available networks... Set to try a few times to obtain a lease. Sorting Select Wifi Network ESSID Enc Qual Channel Type 1. TP-LINK_POCKET_3020_6EFD56 on 70 11 WPA 2. JOKER on 70 11 WPA 3. koshln on 60 1 WPA 4. Bagla on 46 11 WPA 5. Tarazan on 43 1 WPA 6. HP-Print-65-Officejet 4630 off 42 6 7. khatrias on 41 6 WPA 8. stoury on 40 1 WP 9. Sargun on 40 1 WPA 10. RAJ on 39 6 WPA 11. getit248 on 32 11 WPA Enter selection ( 1 - 14 ) or (q)uit: 2 Enter password for JOKER (8 to 63 characters): myfunnypass Sending credentials to requested access point JOKER.. deleting routers adding dns 8.8.8.8 adding dns 94.206.20.134 adding dns 94.206.181.22 tc@box:~$
With this, you should be connected to your WiFi network. You can check the configuration of your “wlan0” interface using “ifconfig wlan0” command –
tc@box:~$ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr B8:27:EB:90:31:C8 inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:16 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2086 (2.0 KiB) TX bytes:1028 (1.0 KiB) tc@box:~$
The WiFi SSID and Password will be saved in “/home/tc/wifi.db” file, allowing you to reconnect to the same WiFi Network again without entering the password.
tc@box:~$ cat /home/tc/wifi.db JOKER myfunnypass WPA tc@box:~$
6. Configure Auto-Connect at System Boot-up (Config Persistence):
6.1 To connect to the WiFi network automatically immediately after the system reboot execute the following command –
sudo echo '/usr/local/bin/wifi.sh -a 2>&1 > /tmp/wifi.log' >> /opt/bootlocal.sh
This command will add an entry to “/opt/bootlocal.sh” file, that will get executed as soon as the system comes up after the boot process.
tc@box:~$ sudo echo '/usr/local/bin/wifi.sh -a 2>&1 > /tmp/wifi.log' >> /opt/bootlocal.sh tc@box:~$ tc@box:~$ cat /opt/bootlocal.sh #!/bin/sh # Start serial terminal /usr/sbin/startserialtty & # Set CPU frequency governor to ondemand (default is performance) echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor # Load modules /sbin/modprobe i2c-dev # Start openssh daemon /usr/local/etc/init.d/openssh start # ------ Put other system startup commands below this line /usr/local/bin/wifi.sh -a 2>&1 > /tmp/wifi.log tc@box:~$
6.2 After altering “/opt/bootlocal.sh” file, you need to save the changes. To do this you can execute the “filetool.sh -b” command.
tc@box:~$ filetool.sh -b Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz/ Done. tc@box:~$
7. Reboot Raspberry Pi:
Reboot the Raspberry Pi using “sudo reboot” to test the configuration persistence.
Once the system boot process gets completed check “wlan0” configuration using the “ifconfig wlan0” command. You should notice that the wlan0 is now connected with WiFi network and has the IP Address assigned to it –
tc@box:~$ ifconfig wlan0 wlan0 Link encap:Ethernet HWaddr B8:27:EB:90:31:C8 inet addr:192.168.1.105 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:84 errors:0 dropped:3 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6058 (5.9 KiB) TX bytes:1028 (1.0 KiB) tc@box:~$
“tce-load -wi wifi.tcz” (step 3.2) using piCore-9.0.3 fails:
Connecting to distro.ibiblio.org (152.19.132.43:80)
wget: server returned error: HTTP/1.1 416 Requested Range Not Satisfiable
ca-certificates.tcz: FAILED
md5sum: WARNING: 1 of 1 computed checksums did NOT match
Do I need to install something or is there an alternate location I should be pointing to?
Thanks.
LikeLiked by 1 person