I blacklisted iwl3945, and the boot goes normally with no hang (replicated about 50 times)
So I tried the following at the shell:
# while true; do modprobe iwl3945; sleep 0.1; modprobe -r iwl3945; sleep 0.1; done
Unfortunately this did not cause a hang, even after hundreds of iterations.
The only difference between that and what udev is doing is that udev may load modules in parallel.
So I blacklisted tg3 as well, then tried the attached shell script.
I blacklisted iwl3945, and the boot goes normally with no hang (replicated about 50 times)
So I tried the following at the shell:
# while true; do modprobe iwl3945; sleep 0.1; modprobe -r iwl3945; sleep 0.1; done
Unfortunately this did not cause a hang, even after hundreds of iterations.
The only difference between that and what udev is doing is that udev may load modules in parallel.
So I blacklisted tg3 as well, then tried the attached shell script.