diff --git a/CHANGELOG.md b/CHANGELOG.md index 529456cceee833db8440a00a1b28e45dc808034a..f8df97cf8cad77c45d38bc5f347555add9af98c8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - N64 GlideN64 and other plugins: also fix blank screen - pifba: make sure it's only available for systems supporting it - Set the recalbox tag for netplay elsewhere +- Add configuration for static ip addresses on wifi interfaces ## [18.06.27] - 2018-06-27 - Adding introRecalboxEASports.mp4 diff --git a/board/recalbox/fsoverlay/etc/init.d/S09wifi b/board/recalbox/fsoverlay/etc/init.d/S09wifi index 2b12ce4cff21c51c62343f3fc2d6e1f8498e1b75..4afd47ae40f80d88e94d9f223316b13e68ddcf93 100755 --- a/board/recalbox/fsoverlay/etc/init.d/S09wifi +++ b/board/recalbox/fsoverlay/etc/init.d/S09wifi @@ -9,8 +9,22 @@ rb_wifi_boot_configure() { settings_file="/var/lib/connman/recalbox_wifi${X}.config" [ "$1" = "1" ] && settings_name="default" || settings_name="${X}" + + settings_ip=`egrep "^wifi${X}.ip" /boot/recalbox-backup.conf|sed "s/wifi${X}.ip=//g"` + settings_gateway=`egrep "^wifi${X}.gateway" /boot/recalbox-backup.conf|sed "s/wifi${X}.gateway=//g"` + settings_netmask=`egrep "^wifi${X}.netmask" /boot/recalbox-backup.conf|sed "s/wifi${X}.netmask=//g"` + + settings_manual_section="" + if [[ "$settings_ip" != "" ]] && \ + [[ "$settings_gateway" != "" ]] && \ + [[ "$settings_netmask" != "" ]] ;then + settings_manual_section=" +IPv4=${settings_ip}/${settings_netmask}/${settings_gateway}" + fi if [[ "$settings_ssid" != "" ]] ;then + recallog "Recovering wifi for SSID: $settings_ssid" + mkdir -p "/var/lib/connman" cat > "${settings_file}" < \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/rpi1/recalbox.conf b/package/recalbox-system/rpi1/recalbox.conf index 08b1cdc8441cdef447075b387bdfcfad69b08eff..ea76c6d0801c752e6f78ff6c7dff8c3fab4020a6 100644 --- a/package/recalbox-system/rpi1/recalbox.conf +++ b/package/recalbox-system/rpi1/recalbox.conf @@ -114,13 +114,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/rpi2/recalbox.conf b/package/recalbox-system/rpi2/recalbox.conf index e9ed1f430d64b2a423da891a258ec8ac963810ec..a54dd4b33b91d1e8de048c672604b24a66503849 100644 --- a/package/recalbox-system/rpi2/recalbox.conf +++ b/package/recalbox-system/rpi2/recalbox.conf @@ -114,13 +114,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/rpi3/recalbox.conf b/package/recalbox-system/rpi3/recalbox.conf index 7edc2ba1815573ec910e9f413da4fb24b7401c43..69a510bb76447e363a5f20079c8b971d8c147b1a 100644 --- a/package/recalbox-system/rpi3/recalbox.conf +++ b/package/recalbox-system/rpi3/recalbox.conf @@ -114,13 +114,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/x86/recalbox.conf b/package/recalbox-system/x86/recalbox.conf index bd0e2bccb9ece1b2253ebdf6027fdf54daed2686..7755b9d791b375733e4185ee3d894eee71e4e443 100644 --- a/package/recalbox-system/x86/recalbox.conf +++ b/package/recalbox-system/x86/recalbox.conf @@ -81,13 +81,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/x86_64/recalbox.conf b/package/recalbox-system/x86_64/recalbox.conf index ca74b9fea609c0366b59c706efce63f4eadac78e..206cb91c3d64f7843d0369e7ce937fa12038a306 100644 --- a/package/recalbox-system/x86_64/recalbox.conf +++ b/package/recalbox-system/x86_64/recalbox.conf @@ -81,13 +81,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1 diff --git a/package/recalbox-system/xu4/recalbox.conf b/package/recalbox-system/xu4/recalbox.conf index d31a007c3d7b8bbcb57e7cc59296fe93abc98110..a0b3a8b39b2879f5f1de001e882481df90668c6d 100644 --- a/package/recalbox-system/xu4/recalbox.conf +++ b/package/recalbox-system/xu4/recalbox.conf @@ -94,13 +94,29 @@ wifi.region=US ## Escape your special chars (# ; $) with a backslash : $ => \$ ;wifi.key=new key +## Wifi - static IP +## if you want a static IP address, you must set all 3 values (ip, gateway, and netmask) +## if any value is missing or all lines are commented out, it will fall back to the +## default of DHCP +;wifi.ip=manual ip address +;wifi.gateway=new gateway +;wifi.netmask=new netmask + # secondary wifi (not configurable via the user interface) ;wifi2.ssid=new ssid ;wifi2.key=new key +# defaults to dhcp. uncomment for static ip +;wifi2.ip=manual ip address +;wifi2.gateway=new gateway +;wifi2.netmask=new netmask # third wifi (not configurable via the user interface) ;wifi3.ssid=new ssid ;wifi3.key=new key +# defaults to dhcp. uncomment for static ip +;wifi3.ip=manual ip address +;wifi3.gateway=new gateway +;wifi3.netmask=new netmask ## Samba share system.samba.enabled=1