I have been spending a lot of time recently trying to get WiFi connections to work reliably. I'm learning, but mostly learning that I don't often know what I'm doing! :-)
Firstly I don't think Network Manager is always particularly helpful, for example I'm using WiFi tethering at the moment but also want to turn it off sometimes and see if any local hotspots are available. There seems no way to make Network Manager re-scan, it obstinately continues to show my tethering WiFi when I *know* it's turned off. This rather reduces my confidence in other signals it shows.
I have played with using wpa_gui which seems to be more able to do what I want but I don't really understand how it interacts (or not) with Network Manager. Could I uninstall Network Manager and use wpa_gui exclusively? (However then I don't have a way to configure a hard-wired ethernet connection if there is one) E.g. does the 'Connect' button in wpa_gui do all that's necessary or would I have to do the DHCP client, routing, etc., in adddition?
Are there any good tutorials about this sort of stuff, or even books?
I don't want anything *too* basic, I can get our domestic WiFi working fine without a problem, in that sort of situation Network Manager does a pretty good job. It's when things get a bit more difficult with weaker signals (and sometimes *lots* of them) that I need some help.
Oh, and another problem I'm having. I have a Raspberry Pi with an external USB WiFi (long wire with a WiFi with aerial on the end of it) and I'm using some direct manipulation of wpa_supplicant (i.e. built a custom configuration with details found on the 'net) to get it to connect to a WiFi hotspot that uses EAP-SIM authentication. This also involves reading a key from a USB SIM card reader. Much to my surprise I actually got this to work, however my attempts to automate it at system power-up have not worked at all well. I can repeatedly get it to work manually, i.e. by entering commands but I suspect some of the commands fire off background processes and thus automating it is harder than just doing the same thing from rc.local. I have done quite a lot of stuff with rc.local in the past and also with cron jobs and I think I know most of the normal wrinkles. There's just something more going on here, particularly with the wpa_supplicant stuff.
Any/all help would be very welcome.