{"action":"created","issue":{"url":"https://api.github.com/repos/volumio/Build/issues/143","repository_url":"https://api.github.com/repos/volumio/Build","labels_url":"https://api.github.com/repos/volumio/Build/issues/143/labels{/name}","comments_url":"https://api.github.com/repos/volumio/Build/issues/143/comments","events_url":"https://api.github.com/repos/volumio/Build/issues/143/events","html_url":"https://github.com/volumio/Build/issues/143","id":205448812,"number":143,"title":"Improve resilience of wireless service","user":{"login":"earlchew","id":6503012,"avatar_url":"https://avatars.githubusercontent.com/u/6503012?v=3","gravatar_id":"","url":"https://api.github.com/users/earlchew","html_url":"https://github.com/earlchew","followers_url":"https://api.github.com/users/earlchew/followers","following_url":"https://api.github.com/users/earlchew/following{/other_user}","gists_url":"https://api.github.com/users/earlchew/gists{/gist_id}","starred_url":"https://api.github.com/users/earlchew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/earlchew/subscriptions","organizations_url":"https://api.github.com/users/earlchew/orgs","repos_url":"https://api.github.com/users/earlchew/repos","events_url":"https://api.github.com/users/earlchew/events{/privacy}","received_events_url":"https://api.github.com/users/earlchew/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2017-02-05T19:50:28Z","updated_at":"2017-02-15T15:01:57Z","closed_at":null,"body":"As a user, I want to have access to the volumio wifi hotspot when I do have use of any wifi networks, so that I will always have some means to connect to the volumio service.\r\n\r\n* If the volumio service has not been configured, the volumio wireless service shall start the wifi hotspot first.\r\n* When the volumio service has been configured, the volumio wireless service shall start the wifi client  first.\r\n* If the wifi hotspot has been running for 15s and is not associated with any wifi clients, the volumio wireless service shall stop the wifi hotspot and start the wifi client.\r\n* If the wifi client has been running for 30s and is not servicing any active TCP sessions, and If the wifi hotspot is not disabled in the volumio configuration, the volumio wireless shall stop the wifi client and start the wifi hotspot.\r\n* The volumio wireless service shall operate correctly alongside any other available network connection (eg Ethernet).\r\n* _The wifi hotspot shall use the IPv4 address 198.18.0.1/15 so that it will never collide with any production address assigned to any other network connection (eg Ethernet)._\r\n* _The wifi hotspot shall support up to 8 DHCP clients._\r\n\r\nRelated Issues:\r\n* https://github.com/volumio/Volumio2/issues/926\r\n\r\nUse Cases\r\n\r\n* New volumio installation\r\n* New wireless site\r\n* No matching wireless sites\r\n* Access point drops out (eg wifi router reboots, portable volumio moves out of range)\r\n* Ethernet cable is connected\r\n"},"comment":{"url":"https://api.github.com/repos/volumio/Build/issues/comments/280034036","html_url":"https://github.com/volumio/Build/issues/143#issuecomment-280034036","issue_url":"https://api.github.com/repos/volumio/Build/issues/143","id":280034036,"user":{"login":"earlchew","id":6503012,"avatar_url":"https://avatars.githubusercontent.com/u/6503012?v=3","gravatar_id":"","url":"https://api.github.com/users/earlchew","html_url":"https://github.com/earlchew","followers_url":"https://api.github.com/users/earlchew/followers","following_url":"https://api.github.com/users/earlchew/following{/other_user}","gists_url":"https://api.github.com/users/earlchew/gists{/gist_id}","starred_url":"https://api.github.com/users/earlchew/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/earlchew/subscriptions","organizations_url":"https://api.github.com/users/earlchew/orgs","repos_url":"https://api.github.com/users/earlchew/repos","events_url":"https://api.github.com/users/earlchew/events{/privacy}","received_events_url":"https://api.github.com/users/earlchew/received_events","type":"User","site_admin":false},"created_at":"2017-02-15T15:01:57Z","updated_at":"2017-02-15T15:01:57Z","body":"A couple of other notes and observations:\r\n\r\n* I made an attempt to switch to manual operation for eth0, and not use netplugd at all, thinking that it would lead to a simpler configuration: `ifconfig eth0 up && dhcpcd eth0`. The dhcpcd implementation is capable of watching link availability itself. Unfortunately `/etc/network/interfaces` is manipulated by separately, and the GUI supports configuring a static address. Taking both of these together suggests that it is easier just to keep `/etc/network/interfaces`, netplugd, ifup and ifdown.\r\n* I switched the hotspot IPv4 address to 198.18.0.1/15 to avoid any chance of colliding with a valid IPv4 address on other network interfaces.\r\n* I considered using IPv4LL (ZeroConfig) on the hotspot. This would make the deployment simpler. I discarded the idea in an earlier implementation because at that time wireless.js was watching for TCP connections via the hotspot and I thought it would be a good idea to allow clients to make a TCP/IP connection as fast as possible. Since that time, I've switched wireless.js to watch to hotspot wifi associations, so maybe it's worth considering this again. I'm pretty sure any modern wifi client will switch to use IPv4LL if it cannot acquire an address via DHCP."}}
{"actor":{"display_login":"earlchew"}}