LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   *BSD (https://www.linuxquestions.org/questions/%2Absd-17/)
-   -   hardware help with onboard/WiFi NICs and chipset (https://www.linuxquestions.org/questions/%2Absd-17/hardware-help-with-onboard-wifi-nics-and-chipset-224428/)

deesto 08-30-2004 03:17 PM

hardware help with onboard/WiFi NICs and chipset
 
I have a Chaintech Zenith motherboard:
http://www.chaintechusa.com/tw/eng/p...o=13&PISNo=196
I've always had a bit of trouble installing FreeBSD on this machine;
now, unfortunately, it's the only one I have to work with. I've just
tried installing both 4.10 and 5.2.1, and both give unpleasantly
similar results: they get through most of the initial install boot
sequence but freeze as it tries to mount. However, if I install by
booting into "safe mode", I can get through the install process with a
few hiccups, one of them (the entire XFree86 library) being fairly
crucial. Even when I do this, I still can't boot BSD afterward in its
default mode, only using "safe mode".

In addition, I can't configure the onboard NIC, which is the ongoing
problem I mentioned earlier. I asked about a year ago, and the basic
response was that support hasn't been added because the chipset MFR
doesn't want to help in developing a solution or offering source code
for the drivers. I'm hopeful (but somewhat cynical) this has changed.
In any case, the chipset is: NVIDIA nForce2 SPP + MCP-T.
The on-board LAN controller:
- Fast Ethernet Controller with MII Interface
- Support 10/100Mb Fast Ethernet with External PHY

The alternative I have is a wireless-G NIC card from TrendNET:
http://www.trendnet.com/products/TEW-403PI.htm
I have this card configured for Windows XP (not flawlessly, but it
works after some tinkering). I haven't been able to find drivers for
BSD, and the MFR support wasn't warm to my plea for a non-Windows
solution. I've seen a few threads on wireless use, but nothing
reporting the results or what works/what doesn't work, and nothing
specific to 802.11g support. A side note: as you may surmise, I
wouldn't recommend TrendNET products to my worst enemy. The product
was absolutely painful to configure (after about a year, they just came
out with a driver that actually works for XP, and then promptly
discontinued the product) and their customer service was equally
painful to endure.

Any help you could offer to get this thing running BSD and back on the
network would be greatly appreciated.

Thanks,
~John

chort 08-30-2004 06:21 PM

Sounds like you possibly need to disable ACPI to get your system to boot (there's good documentation for this in the Handbook on www.FreeBSD.org).

As for the nForce chipset, you're SOL there. They provide binary-only (no source) drivers to Linux but give *BSD the finger (BSD developers don't generally accept binary-only drivers).

As for the Wireless card, it seems that it may be driven by a Broadcom controller, although that was an educated guess based on some Google results. In typical arrogant vendor fashion, TrendNet doesn't post what chipset they're using on the product page or on the "spec sheet" that you have to download as a PDF (if you make me go to all the work of getting a PDF, it better have the chipset information!). I have to agree that TrendNet seems like a horrible vendor.

It seems that your only route on the Broadcom WiFi chip may be the NDIS wrapper, which I think is only available in FreeBSD 5.x (x >= 2). Come to think of it, the NDIS wrapper might work for your nVidia NIC too, who knows (I always buy supported hardware so I haven't had the occasion to test the NDIS wrapper).

I hate to break it to you, but it looks like you have one hunk of proprietary junk. I know it doesn't help you at all right now, but the next time you buy a mother board you should really check to see if all the devices are supported! The BSDs have very extensive hardware compatability lists and you can always search the mailing list archive to see questions about a specific piece of hardware. If you don't find anything about it, post a well-educated query to one of the mailing lists.

deesto 08-30-2004 08:38 PM

Thanks chort. Believe me, next time I buy hardware, I won't leave home without my compatibility list. I had no idea such "state-of-the-art" MFRs could be so OS ignorant. And as I mentioned, the WiFi NIC card, which was designed to work with XP, doesn't even do that.

Now, to your advice... the first bit should be easy enough to disable ACPI, granted I can get to my /boot/device.hints file. I'll give it a go.

But using the NDIS wrapper seems a bit more daunting. The docs point to /usr/src/sys/compat/ndis/subr_ndis.c, which I do have, but what from there? I cat-ed it, and it's all code--lots of it, and there's no doc in that dir. All I could make of it is that something called "_stdcall" must be used, and Google gives me a bunch of copies of the .c file that exist on the 'Net.

deesto 08-31-2004 05:32 PM

More poking around brought me here:
http://www.freebsd.org/cgi/cvsweb.cg..._ndis.c#rev1.1
Apparently, this tries to parse information from a set of Windows .INF and .SYS driver files. Unfortunately, the MFRs of the two NICs I have mentioned above package their drivers in binaries, and I can't get to the driver files or figure out which Windows files are actually being used. If someone could help me determine this for these NICs, I'g greatly appreciate it.
Thanks.

deesto 09-01-2004 09:12 AM

For those interested: using chort's advice, I cured the system of its boot problem by disabling ACPI. There are two ways to do this: by appending the following text to /boot/device.hints:
hint.acpi.0.disabled="1"

...or by selecting "Boot with ACPI disabled" (choice 2) from the FBSD boot menu. Note that when you do this while booting on install, the script recognizes your selection and prompts you to choose whether you'd like to disable ACPI permanently.

Regarding the onboard and wireless NICs: the solution seems to be an implementation of NDIS by Bill Paul that interprets Windows .INF and .SYS driver files. The documentation I've found for this module points to the locations /sys/modules/ndis/ or /usr/src/sys/compat/ndis/ . These locations do not exist on my installed system, and I can't reach beyond the scope of the system to cvsup or grab them from a remote location. I just Googled and found that NDIS has its own SF project, so I'll throw what I can find on a floppy and go from there. If anyone has experience with implementing this package or tips to pass on, please do.

I also noted two other errors during install/boot on which I hope someone can shed some light:

During initial boot: "MProbe table : MP table has bad sig : : "

During "all source" install, particularly during XFree86 install (multiple sequential occurances):
"acd0: failure - READ_BIG status=51<READY, DISC, ERROR> sensekey=medium error ERROR = 0"

Thanks for your help.
~John

chort 09-01-2004 10:21 AM

The last error regarding "acd0: failure" probably means you either have a bad cable or some bad sectors on the disk. Those are generally the two reasons why you would get disk errors like that.

I'm not familiar with the MProbe table error, but there's probably something indexed by Google that will explain it.

It's good to see you're making some progres on the NDIS wrapper situation. I'd help, but I've never had to set it up.

deesto 09-01-2004 10:48 AM

I did try to Google these errors before posting and came up empty in one case, and with some fairly cryptic results in the other. Here's the one mprobe entry that made any sense at all:
http://www.cosy.sbg.ac.at/~gwesp/c/glibc/libc_30.html
Quote:

Function: enum mcheck_status mprobe (void *pointer)
The mprobe function lets you explicitly check for inconsistencies in a particular allocated block. You must have already called mcheck at the beginning of the program, to do its occasional checks; calling mprobe requests an additional consistency check to be done at the time of the call.
The argument pointer must be a pointer returned by malloc or realloc. mprobe returns a value that says what inconsistency, if any, was found.
Since I didn't call "mcheck", I assume the boot script did. This error occurs each time I boot.

Your comment on the "acd0: failure" error is worrisome; this is a 160GB drive and it's not a month old yet. The partitions are set up as 10GB FreeBSD, 10GB FreeBSD, and NTFS (WinXP).

Maybe these errors are related, and the disk is bad?


All times are GMT -5. The time now is 05:41 AM.