Wired & Wireless networking interfering on Dell Inspiron 1300 (Slackware 13)
So I'm new to Slackware but I've been using Ubuntu for a few years... I've always had challenges with the wireless drivers on the Dell Inspiron 1300 with a Dell 1470 Dual-Band Mini-PCI wireless card in it.
Here's a link to the thread in the Ubuntu forums that helped me solve it: http://ubuntuforums.org/showthread.php?t=740632 As I don't have internet access at home and can't bring my computer to work, I'll post the outputs of lsmod and lspci tomorrow for reference. Basically, what it's come down (in Ubuntu) to is that I need ndiswrapper, but the wired network module b44 interferes with ndiswrapper. In Ubuntu I had to add ndiswrapper to /etc/modules (loads up extra modules that are needed) which doesn't exist in Slackware, and I'm assuming there's an equivalent file somewhere, I tried /etc/rc.d/rc.modules but that looked nothing like the file I am used to on Ubuntu. In Ubuntu, I needed to blacklist b43, rfkill_input, mac80211. I tried different combinations of these in Slackware, and I've found that I still need these blacklisted for ndiswrapper to work. Lastly, I discovered that the order in which ndiswrapper and b44 are loaded seems to come into play (after doing all this stuff above). If b44 is loaded before ndiswrapper, the wireless network will not work. So in Ubuntu, I added a small script rc.local to remove both b44 and ndiswrapper and then start ndiswrapper before b44 and that made everything work: Code:
modprobe -r ndiswrapper So given all the background info here, I guess I'm asking where to add the module ndiswrapper since /etc/modules doesn't exist in that form in Slackware, and what I'm doing wrong with modprobe, ndiswrapper, and b44 (possibly configuration after enabling b44?) If you can come up with suggestions without the outputs of lsmod and lspci, I'd appreciate it... if not, it'll be posted tomorrow. Thanks |
Perhaps you're looking for /etc/modprobe.d directory
|
Ndiswrapper is indeed in the /etc/modprobe.d/ directory, and I'm assuming that's a good sign.
Now, for the output of lsmod and lspci: lspci: Code:
bash-3.1# lspci Code:
Module Size Used by |
What I would do is add b44 at the end of /etc/modprobe.d/blacklist.conf but add following lines at the end of /etc/rc.d/rc.local:
Code:
/sbin/modprobe b44 Only caveat I think of: if you use DHCP for you wired connection this connection will fail during execution of /etc/rc.d/rc.inet1; that's not important but that will delay booting, I guess. To avoid that delay maybe you could add somewhere some test like this one: Code:
lsmod|grep b44 > /tmp/b44 |
Just like you suggested, one of the first suggestions from the Ubuntu forums (during my Ubuntu days) was to blacklist b44, but if I do that, then the wired connection doesn't work. But I'll try it tonight, just in case. I'm not too concerned about the boot delay either, but I'll record that small script... I would add the the rc.local right? Or rc.inet1?
|
/etc/rc.d/rc.inet1 tries to bring up all network interfaces set up in /etc/rc.d/rc.inet1.conf, be they wired or wireless. So I think that if one can't be brought up for whatever reason, this do not prevent others to be brought up.
[EDIT]Re-reading your last post I should have added that the wired connection should be brought up during execution of rc.local: that's the purpose of "/etc/rc.d/rc.inet1 eth0_restart" command [EDIT 2]No need for "/etc/rc.d/rc.inet1 eth0_restart", see my next post I will try and report what I get. About where to put the proposed script (or something smarter, which should be easy) I'll try to figure that out. [EDIT 2]See my next post. |
Just curious, maybe I'm missing some key element here, but why not configure the interfaces (on Slackware or Ubuntu, it should work the same) by making a .conf file in /etc/modprobe.d to tell modprobe which driver to use for what device?
An example (assuming wlan0 is the wireless, and assuming eth0 is the ethernet and used b44): /etc/modprobe.d/net-devices.conf Code:
alias wlan0 ndiswrapper Sasha |
Good stuff, I'll trying poking around more and see what I can do and let you know
|
I just tried, that was even simpler:
1) Add this line at the end of /etc/modprobe.d/blacklist.conf: Code:
b44 Code:
/sbin/modprobe b44 Code:
chmod +x /etc/rc.d/rc.local And you shouldn't undergo any boot delay, so no need for my stupid script ;) Slackware network scripts are really well designed after all :cool: |
So I tried everything that's been suggested in as many different combinations as I could think of but none of it worked. It still remains that eth0 shows up after boot but wlan0 only shows up when I use modprobe to disable b44 and ndiswrapper and re-enable ndiswrapper after logging in (at which point eth0 doesn't show up anymore).
|
Take a look at the responses people made to this: https://bugs.launchpad.net/ubuntu/+bug/214917
One topic that sticks out to me is the blacklisting of other modules that b44 relies on, such as ssb and bcm43xx |
I started the discussion on that bug after some people from the Ubuntu team suggested I post it on launchpad (I'm 2k3autococker in the posting)... kinda forgot about it until you linked to it... I'll definitely have to play around more with this new information.
|
This may be a dumb question, but if you've got a 4311 based card, why aren't you using Broadcom's driver?
|
Not a dumb question, I never knew that existed. How long have they been making it for?
|
I think it has been out for a year or two, maybe a bit longer. It appeared when the Linux netbooks started becoming popular. I suspect that the manufacturers twisted Broadcom's arm more than a little bit on this one.
|
All times are GMT -5. The time now is 04:11 PM. |