Wifi start with UserBootscript

I want to start wifi during boot with UserBootscript. Did that successfully in the past.
Now I have a new dsl router named FRITZ!Box Fon WLAN 7360.
The wifi does not start anymore during boot.
The terminal shows the following:

ifconfig /dev/net/iprowifi4965/0 join FRITZ!Box Fon WLAN 7360 1234567890123
bash: !Box: event not found

Is there a way to use special characters and blanks in the router name.
I think it is possible to rename the router but still?

Yes, the script uses bash syntax so you can use quotes “FRITZ!Box Fon WLAN 7360” or backslashes FRITZ\!Box\ Fon\ WLAN\ 7360.

However, after you log in using the GUI, your settings should be stored and there should be no need for adding this to the UserBootScript. If it doesn’t, consider making a bugreport and adding a syslog (with the script disabled) there.

Using backslashes works. I can join wifi via terminal now. Thank you very much for your help.

One more thing:
Starting with the UserBootscript triggers a popup “connect Wireless Network”.
Network Name is correct, Passwort ist correct, Authentication is wrong -->open.
Switching to WPA2 starts wifi.

Starting without the UserBootscript does not start wifi.

My aim is to start wifi automatically during boot. Something I can try before filing a bug report?

I don’t have an answer, but that’s what would happen if the network was unknown at that time. You could list the networks and write the output to disk, to see what networks are actually known at the time the script runs. That would look like
ifconfig “$device” scan > /boot/home/wifi.lis 2>&1

I gather wifi devices may have their individual peculiarities. Mine seems to cache networks somewhere in non-volatile memory - not only does “scan” always return the same list, a reboot via “shutdown -r” doesn’t even do it. I have to shut down cold, to get a new list, when I’m having trouble finding the network I want to use.

By the way, I use a shell script named “wifi” – like,

case $2 in
   HOST='The network I normally use'
   PW='The password for that one'
   HOST='The network whose name starts with "Cow"'
   PW='The password for that other one'
case $1 in
scan)  ifconfig $DEV scan ;;
join) ifconfig $DEV join "$HOST" "$PW" ;;
leave) ifconfig $DEV leave "$HOST" ;;
*)  echo 'Usage:  scan | leave | join [network password]' >&2 ;;

… put all that in a file, say config/non-packaged/bin/wifi, then make it “executable”:
chmod 755 config/non-packaged/bin/wifi

The script to go in config/settings/boot/launch/wifi would be only a little different.

I’ve updated the syslogs on ticket #9694. Not sure anything has changed in the past 15 months. The result is the same for me: works with ifconfig, doesn’t with NetworkStatus.