Linux - Hardware This forum is for Hardware issues.
Having trouble installing a piece of hardware? Want to know if that peripheral is compatible with Linux? |
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
|
08-05-2006, 01:48 PM
|
#1
|
LQ Newbie
Registered: Aug 2006
Location: Sweden
Distribution: Slackware
Posts: 7
Rep:
|
Slackware + WPC54G does not work
Now today I got some problems when I tried to get my Linksys WPC54G v3 to work with Slackware.
Some info:
Card: Linksys WPC54G v3
Kernel version: 2.6.17.7
Dist: Slackware
Ndiswrapper version: 1.21
dmesg | grep ndis:
Code:
ndiswrapper version 1.21 loaded (preempt=no,smp=no)
ndiswrapper -l:
Code:
Installed drivers:
lsbcmnds driver installed
Correct me if I'm wrong but shouldn't ndiswrapper -l say something like "lsbcmnds Driver present, hardware present"?
I can also mention that lspci does not list the card.
So, what can be the problem?
Thanks!
//EDIT//
Does it matter that lsmod does not list usbcore?
I've seen that some have this:
Code:
usbcore 126720 3 uhci_hcd,ndiswrapper
Last edited by mslms; 08-05-2006 at 02:05 PM.
|
|
|
08-05-2006, 07:03 PM
|
#2
|
Member
Registered: Oct 2005
Location: Rhode Island, USA
Distribution: Slackware, Xubuntu
Posts: 348
Rep:
|
I use the same pcmcia card with my setup with ndiswrapper.
I'm assuming that you compiled your new kernel yourself with menuconfig or some variant and didn't just take an old config for your new kernel. I understand that some of the config settings have changed minutely for the newer kernels so it's best to at least go through it and make sure that the settings you want are there.
First:
I never knew that ndiswrapper "depends" on usbcore, but I admit that line does show up on my lsmod. So I would go ahead and make sure that you have it there. Certainly if you have a usb port anywhere on your computer you would have already enabled it. With that being said, if you compiled usbcore into the kernel rather than as a module, you might not see it in lsmod. Just make sure you have it.
Second:
You'll want to make sure that you compiled in support for the device. A good example is when I completed my first shot at compiling a kernel, one of the things I didn't do was include support for my pcmcia cards. It turned out that my pcmcia card slots were "Yenta-compatible" and I didn't include it. So just make sure that you have the pcmcia cards supported. I suppose if you're just not getting any results at all, try doing the yenta-compatible option.
Third:
Most importantly outside of the hardware issues is the driver itself. The 2.6.17.7 kernel comes "ready made" with the bcm43xx Broadcom driver. I'm assuming your card is like mine and uses the Broadcom AirForce One 54g 4318 chip or you wouldn't be using ndiswrapper. Just so I don't make too many assumptions and assume you know what I'm talking about.. the 4308 chip is fully supported by the bcm43xx driver whereas the 4318 is not... requiring ndiswrapper for full functionality. You can use bcm43xx, but you can only use the 802.11b standard... about 11Mb/s.
When you choose the Wireless Extensions option in the kernel, it will ask you for a premade driver. If you chose the bcm43xx driver then you will have problems with ndiswrapper. And vice versa. Whichever one loads first will get precedence and I'm fairly certain that ndiswrapper is not as important as a module compiled from kernel source.
You'll want to make sure that the bcm43xx driver isn't present before you try and use ndiswrapper.
I hope some part of this has helped you. Inform us of your progress.
|
|
|
08-06-2006, 01:48 PM
|
#3
|
LQ Newbie
Registered: Aug 2006
Location: Sweden
Distribution: Slackware
Posts: 7
Original Poster
Rep:
|
I just tried to recompile the kernel in many different ways but I can't get it to work. I know that the card works (from previous experience) in Gentoo, Ubuntu and Arch Linux without having to do anything special to the kernel or what so ever.
I can also tell you that it does not work with Slackware 11.0 (is that really the version number?) with the 2.4.32 kernel.
So, what can possibly be wrong?
|
|
|
08-06-2006, 04:48 PM
|
#4
|
Member
Registered: Oct 2005
Location: Rhode Island, USA
Distribution: Slackware, Xubuntu
Posts: 348
Rep:
|
There has to be a config option missing in your kernel. I know this because you were able to get it to work in linux before slackware, and I run 2.6.17.7 in slackware with the same wireless card with no problems.
I double-checked the Ndiswrapper Wiki to make sure they support everything wpc54g... and they do so there it has to be with the kernel.
Give look over that link because they might have some more in-depth info you can use.
In order for me to have used Ndiswrapper, I had to enable the following in my kernel: - ISA and PCCARD support under Bus Options
- Device Drivers > Network Device Support > Wireless Lan Drivers & Wireless Extensions (under Wireless LAN non-hamradio)
- Under Kernel Hacking, don't include 'Use 4kb for kernel stacks instead of 8kb'
- Enable Loadable Module Support: module unloading at the very least
Depending on your hardware you might need more... but I think I got the major stuff. I've recompiled good kernels before simply because I forgot an option that ndiswrapper needs.
You could also try the -d switch for ndiswrapper. You'll want to do lspci and find the PCI index of your wireless card. Then you'll want to do lspci -n to get the actual device number. Here is an example from my machine:
Code:
bill@yogi:~$ lspci
00:00.0 Host bridge: Intel Corporation 82845 845 (Brookdale) Chipset Host Bridge (rev 04)
00:01.0 PCI bridge: Intel Corporation 82845 845 (Brookdale) Chipset AGP Bridge (rev 04)
00:1d.0 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #1) (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801CA/CAM USB (Hub #3) (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 42)
00:1f.0 ISA bridge: Intel Corporation 82801CAM ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801CAM IDE U100 (rev 02)
00:1f.5 Multimedia audio controller: Intel Corporation 82801CA/CAM AC'97 Audio Controller (rev 02)
00:1f.6 Modem: Intel Corporation 82801CA/CAM AC'97 Modem Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2)
02:00.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
02:01.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:01.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:01.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller
03:00.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller
Code:
bill@yogi:~$ lspci -n
00:00.0 Class 0600: 8086:1a30 (rev 04)
00:01.0 Class 0604: 8086:1a31 (rev 04)
00:1d.0 Class 0c03: 8086:2482 (rev 02)
00:1d.2 Class 0c03: 8086:2487 (rev 02)
00:1e.0 Class 0604: 8086:2448 (rev 42)
00:1f.0 Class 0601: 8086:248c (rev 02)
00:1f.1 Class 0101: 8086:248a (rev 02)
00:1f.5 Class 0401: 8086:2485 (rev 02)
00:1f.6 Class 0703: 8086:2486 (rev 02)
01:00.0 Class 0300: 10de:0112 (rev b2)
02:00.0 Class 0200: 10b7:9200 (rev 78)
02:01.0 Class 0607: 104c:ac42
02:01.1 Class 0607: 104c:ac42
02:01.2 Class 0c00: 104c:8027
03:00.0 Class 0280: 14e4:4318
Here I have bolded the PCI index and I've italicized the device name/number. And that's how you get the device number. Obviously fill in your own values, but to use the -d switch for ndiswrapper I would execute as root:
Code:
ndiswrapper -d 14e4:4318 lsbcmnds
Then check to make sure everything works.
Let me know how you come out.
EDIT: PS... if lspci does not show your network controller... and you were able to use it in Ubuntu... then a missing kernel option cannot be ignored.
Last edited by zetabill; 08-06-2006 at 05:01 PM.
|
|
|
08-06-2006, 04:56 PM
|
#5
|
Senior Member
Registered: Mar 2003
Location: Following the white rabbit
Distribution: Slackware64 -current
Posts: 2,300
Rep:
|
You need to very carefully go back through the config options for your kernel. You've definately missed something. I've never had any problem getting that card to work using ndiswrapper in Slack.
One thing I would suggest is making sure that you compile everything but the very essentials (file systems, etc) as modules. Sometimes a compiled in option can cause conflicts in a situation like this and you get the added benefit of a smaller, faster kernel.
As for the 2.4 kernel, ndiswrapper and wireless in general doesn't play all that well with the 2.4 kernels. It can be made to work, but it's much better with a 2.6 series kernel.
I'd also make certain you have the newest windows driver available for that card. Download it from their site.
|
|
|
08-07-2006, 05:35 AM
|
#6
|
LQ Newbie
Registered: Aug 2006
Location: Sweden
Distribution: Slackware
Posts: 7
Original Poster
Rep:
|
I'll try to go trough the kernel compile once more as soon as I get home from work.
*edit*
Now I'm going insane. I can't get it to boot anymore. Now I get the "classical" problem of:
Code:
CFS: cannot open root device ... or unknown-block(...,...)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: unable to mount root fs on unknown-block(...,...)
From what I remember the way to fix it was to enable support for your hdd (or something in that direction) but I've tried to enable support for sata but it does not help at all. Is it time to give up now? Or should I keep on fighting?
Isn't there some basic .config file that you can use and modify for your own needs?
Thanks!
Last edited by mslms; 08-07-2006 at 03:07 PM.
|
|
|
08-08-2006, 03:05 PM
|
#7
|
Member
Registered: Oct 2005
Location: Rhode Island, USA
Distribution: Slackware, Xubuntu
Posts: 348
Rep:
|
Have you enabled Sata in the kernel or as modules?? If they're compiled as modules then you need to create an initrd. Otherwise I'd say just compile them into the kernel. It's like this for all hard disks, sata, scsi, or ide. Don't give up yet... you're so close..
If you're super-extra stuck... you can grab Pat's .config from the 2.6.13 test kernel if you have it installed. You can load that as an "alternate" configuration (or make oldconfig instead of make menuconfig) and then it's important to look through the configuration to make sure it's what you want it to be.
|
|
|
08-09-2006, 03:00 AM
|
#8
|
LQ Newbie
Registered: Aug 2006
Location: Sweden
Distribution: Slackware
Posts: 7
Original Poster
Rep:
|
I got the new kernel to work but I still can't get my wireless card to work. I've tried to enable yenta support and all that but it does not get detected. What can possibly be wrong?
I'll try to use Pat's .config now. I'll return with the result.
*edit*
Well, I tried Pat's config but without result. I just can't get the card to work. Just for fun I ran the Ubuntu live cd and did lspci and there it was. Well I guess that there is nothing else to do than to keep trying to do something magical with the kernel. Any tips on what I must enable?
Quote:
ISA and PCCARD support under Bus Options
Device Drivers > Network Device Support > Wireless Lan Drivers & Wireless Extensions (under Wireless LAN non-hamradio)
Under Kernel Hacking, don't include 'Use 4kb for kernel stacks instead of 8kb'
Enable Loadable Module Support: module unloading at the very least
|
That I have done. By the way, can it be some kind of a conflict between drivers or modules or something in that direction that causes my problem?
*edit*
Some small pieces of info in hope of finding a solution.
dmesg:
Code:
Yenta: CardBus bridge found at 0000:06:09.0 [17c0:3007]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:06:09.0, mfunc 0x00001002, devctl 0x64
Yenta: ISA IRQ mas 0x00f8, PCI irq 11
Socket status: 30000820
pcmcia: parent PCI bridge Memory window: 0xb0100000 - 0xb01fffff
pcmcia: parent PCI bridge Memory window: 0x30000000 - 0x31ffffff
pccard: CardBus card inserted into slot 0
lspci:
Code:
...
CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus controller
pccardctl ls:
Code:
Socket 0 Bridge: [yenta_cardbus] (bus ID: 0000:06:09.0)
pccardctl info:
Code:
PRODID_1=""
PRODID_2=""
PRODID_3=""
PRODID_4=""
MANUFID=0000,0000
FUNCID=225
pccardctl status:
Code:
Socket 0:
3.3V 32-bit PC Card
lsmod:
Code:
ndiswrapper
...
yenta_socket
rsc_nonstatic
...
pcmcia_core
If the information says anything at all to you, please let me know. This problem is driving me crazy. I've been trying to get it to work since last friday.
**EDIT**
Okay, now I'm really confused. I tried to compile the kernel with a original .config from ubuntu with only a few changes that fixes so that I don't get black screen at boot. Well, guess what. My WPC54G still does not work. Can it really be the kernel? It should be in theory because what else can it be? Configuration or something? As I mentioned before I've also tried to use Pat's config but it just does the same.
Last edited by mslms; 08-10-2006 at 12:29 PM.
|
|
|
08-11-2006, 10:20 PM
|
#9
|
Member
Registered: Oct 2005
Location: Rhode Island, USA
Distribution: Slackware, Xubuntu
Posts: 348
Rep:
|
Well... this is quite interesting. The last thing I can think of... is under Kernel Hacking, change the stack buffer number to 15 or greater. I believe it's 14 by default.
With that being said, my knowledge on the subject is pretty much exhausted. If I come across anything I'll post my any ideas but I can't say I've even seen a problem like this even elsewhere let alone deal with it myself.
My response will bump the thread up a bit and hopefully someone will see it and have more to offer. I'm outta ideas...
Good luck!
|
|
|
08-12-2006, 06:32 AM
|
#10
|
LQ Newbie
Registered: Aug 2006
Location: Sweden
Distribution: Slackware
Posts: 7
Original Poster
Rep:
|
I think I'll try that and some other things I've found. Although my kernel is getting a bit odd. Some things don't work and I just get a big bunch of error messages.
Thanks for the help!
*edit*
I tried to edit a little bit in the kernel without result. Hotplug seems to find the card because the "Power" light goes on but I don't know about that.
*edit2*
Well, yesterday I tried to again recompile the kernel and then later on also to update my pci.ids, update a bunch of tools and did some reading in the log files. But all this, as usual, without any results so right now I'm sitting on ubuntu because I need a working system but if I get any clue to what's wrong I'll try Slackware again.
*edit3 15/8*
So, I gave it a go today again but with no success. It turned out that this does not work under Arch Linux either as I remembered.
It has to have something with the drivers to do I belive, but what it is I can't put my finger on. I've searched a lot on the internet but I can't find anyone else with a similar problem. Mostly it's people who just need to use ndiswrapper or something like that. I'm beginning to doubt that it has something to do with the kernel but it is still a possibility. I'll go trough some logs and configuration files once again and then we'll se what happens.
*edit 16/8*
I tried Ubuntu for a while and played around a little bit and my conclusion to why it docent work is: there is something missing in the kernel (just like you have been telling me but I'm to stupid to listen). I tried to get the newest kernel to work in ubuntu but when using that my WPC54G does not work! So there really must be something that I have missed in the kernel. I'll now go and have yet a nother look at the kernel.
Last edited by mslms; 08-16-2006 at 02:35 PM.
|
|
|
All times are GMT -5. The time now is 01:52 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|