Linksys WPC54G Ver2 with FreeBSD

Hello,

I am having trouble with "ndisgen" and the Linksys Drivers.
I have downloaded the drivers, burnt to CD and copied to a local directory, /usr/home/compaq/linksysDrivers

I followed the tutorial on http://taosecurity.blogspot.com/2006/02/linksys-wpc54g-with-freebsd-yesterday.html

I was able to choose the option to convert driver and specify the .inf file however, when asked to specify the .sys file I am prompted with the error message:

Code:
The file '/usr/home/compaq/linksysDrivers/bcmw15.sys' was not found.

The file is in that directory... I do not know why it can not be found.

Would anyone have a solution as to how I can convert this driver to I can use the wireless card and get connected to the internet on this FreeBSD machine I am setting up?



Thanks
 
Okay, I felt silly I was typing in the wrong character several times.
Thanks, I was now able to proceed. However, there was a problem:

Upon the Kernel Module Generation I get an error.

Code:
Generating Makefile... done.
Building kernel module... "/usr/share/mk/bsd.kmod.mk", line 12: 
"can't find kernel source tree" build failed. Exiting.

compaq#

I was able to Google it and found another post here: http://forums.freebsd.org/showthread.php?t=12041 (Looks like you replied to him as well lol)

I will reinsert CD1 and use sysinstall but I am unsure of how to install the missing tree...

Should I select "Configure" and then "Distributions" to install the missing files?
 
JamesHayek said:
I will reinsert CD1 and use sysinstall but I am unsure of how to install the missing tree...

Should I select "Configure" and then "Distributions" to install the missing files?

Yes. See http://www.cyberciti.biz/faq/freebsd-install-kernel-source-code/

Additionally, you don't need CD for running sysinstall, it is already installed in your system. Try
Code:
$> which sysinstall
You can select installing from network or from CD.
 
Ah ha! Why thank you sir(s)! Everything compiled after installing the correct files from the CD (also now knowing it can be done through the network, since it was already installed on the HD).
I will now continue on my journey using the tutorial.

Thank you again!! :stud
 
My pursuit of success was stopped real quickly...

I loaded the module with:

Code:
kldload ./bcmw15_sys.ko

I then used grep:

Code:
dmesg | grep ndis

and got nothing. I then used grep on dmesg to find cardbus0 and i saw the message:

Code:
cardbus0: <CardBus bus> on cbb0
cardbus0: Expecting link target, got 0x92
cardbus0: <network> at device 0.0 (no driver attached)

I restarted and loaded the module again but no success.
I then used kldstat and see that the bcmwl5_sys.ko module was loaded...
I can not however continue on with the tutorial.

Do I need to restart a service or add another step to see a result from the 'dmesg | grep ndis' command?
 
Okay, I will download FreeBSD 8 and upgrade to that (I have installed an old CD of FreeBSD 7 on this machine).

Thanks, here is the output of pciconf:

Code:
hostb0@pci0:0:0:0:	class=0x060000 card=0x05400e11 chip=0x71928086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Not Implemented)'
    class      = bridge
    subclass   = HOST-PCI
isab0@pci0:0:7:0:	class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
    class      = bridge
    subclass   = PCI-ISA
atapci0@pci0:0:7:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
    class      = mass storage
    subclass   = ATA
uhci0@pci0:0:7:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
    class      = serial bus
    subclass   = USB
none0@pci0:0:7:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
    class      = bridge
vgapci0@pci0:0:8:0:	class=0x030000 card=0xb1010e11 chip=0x00c0102c rev=0x64 hdr=0x00
    vendor     = 'Asiliant (Chips And Technologies)'
    device     = '69000 AGP/PCI Flat Panel/CRT VGA Accelerator'
    class      = display
    subclass   = VGA
cbb0@pci0:0:17:0:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
cbb1@pci0:0:17:1:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
none1@pci0:1:0:0:	class=0x028000 card=0x00331737 chip=0x9066104c rev=0x00 hdr=0x00
    vendor     = 'Texas Instruments (TI)'
    device     = 'TNETW1130(ACX111) 802.11b/g Wireless Cardbus/PCI Adapter'
    class      = network

Do you feel as though FreeBSD 8 will resolve this issue?

P.S. It took me a min to fig out how to mount a USB drive and write to it lol
Originally I wrote the output out by hand only to get logged out before posting. I became so frustrated I learned how to mount a USB drive and write to file. Here is what I did:

Code:
# mkdir /mnt/usb
# mount_msdosfs /dev/da0s1 /mnt/usb
# pciconf -lv > filename.txt
# cp filename.txt /mnt/usb
 
:r I guess one can not feel something that's not tangible, that was silly how I posed the question...
I am upgrading to ver 8, I will soon see if there is any difference with the drivers.

Yes sir, the output is the exactly same.
 
Sorry for any confusion, here is the pciconf file before and after loading the kernel.

Before:

Code:
hostb0@pci0:0:0:0:	class=0x060000 card=0x05400e11 chip=0x71928086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Not Implemented)'
    class      = bridge
    subclass   = HOST-PCI
isab0@pci0:0:7:0:	class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
    class      = bridge
    subclass   = PCI-ISA
atapci0@pci0:0:7:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
    class      = mass storage
    subclass   = ATA
uhci0@pci0:0:7:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
    class      = serial bus
    subclass   = USB
none0@pci0:0:7:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
    class      = bridge
vgapci0@pci0:0:8:0:	class=0x030000 card=0xb1010e11 chip=0x00c0102c rev=0x64 hdr=0x00
    vendor     = 'Asiliant (Chips And Technologies)'
    device     = '69000 AGP/PCI Flat Panel/CRT VGA Accelerator'
    class      = display
    subclass   = VGA
cbb0@pci0:0:17:0:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
cbb1@pci0:0:17:1:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
none1@pci0:2:0:0:	class=0x028000 card=0x00331737 chip=0x9066104c rev=0x00 hdr=0x00
    vendor     = 'Texas Instruments (TI)'
    device     = 'TNETW1130(ACX111) 802.11b/g Wireless Cardbus/PCI Adapter'
    class      = network



After:
Code:
hostb0@pci0:0:0:0:	class=0x060000 card=0x05400e11 chip=0x71928086 rev=0x03 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82443BX/ZX 440BX/ZX CPU to PCI Bridge (AGP Not Implemented)'
    class      = bridge
    subclass   = HOST-PCI
isab0@pci0:0:7:0:	class=0x060100 card=0x00000000 chip=0x71108086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M ISA Bridge'
    class      = bridge
    subclass   = PCI-ISA
atapci0@pci0:0:7:1:	class=0x010180 card=0x00000000 chip=0x71118086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M IDE Controller'
    class      = mass storage
    subclass   = ATA
uhci0@pci0:0:7:2:	class=0x0c0300 card=0x00000000 chip=0x71128086 rev=0x01 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M USB Interface'
    class      = serial bus
    subclass   = USB
none0@pci0:0:7:3:	class=0x068000 card=0x00000000 chip=0x71138086 rev=0x02 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82371AB/EB/MB PIIX4/4E/4M Power Management Controller'
    class      = bridge
vgapci0@pci0:0:8:0:	class=0x030000 card=0xb1010e11 chip=0x00c0102c rev=0x64 hdr=0x00
    vendor     = 'Asiliant (Chips And Technologies)'
    device     = '69000 AGP/PCI Flat Panel/CRT VGA Accelerator'
    class      = display
    subclass   = VGA
cbb0@pci0:0:17:0:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
cbb1@pci0:0:17:1:	class=0x060700 card=0xb1210e11 chip=0xac1c104c rev=0x01 hdr=0x02
    vendor     = 'Texas Instruments (TI)'
    device     = 'PCI1225 PC Card CardBus Controller'
    class      = bridge
    subclass   = PCI-CardBus
none1@pci0:2:0:0:	class=0x028000 card=0x00331737 chip=0x9066104c rev=0x00 hdr=0x00
    vendor     = 'Texas Instruments (TI)'
    device     = 'TNETW1130(ACX111) 802.11b/g Wireless Cardbus/PCI Adapter'
    class      = network

I don't follow...
loaded if_bwi.ko into kernel
Is this something specific to FreeBSD 8? How would I load this?

All I did was execute the command
Code:
# kldload ./bcmwl5_sys.ko
and follow along with the tutorial

I am having difficulty trying to transfer the ISO files of FreeBSD Ver8, I keep getting disconnected from the FTP server. (The boot CD transfered to my desktop fine, the one labeled CD1 keeps disconnecting me) I will try again on another computer.
 
Zare: Just man freebsd-update, you can auto-update the system.

Thank you sir, however I can not unless I am connected to the internet.

richardpl: You could also upgrade via sysinstall.

Thank you Richard, this is what I did after downloading the ISO file from my PC and burning to CD. I now have FreeBSD 8 running on the Compaq Laptop. (Only after several attempts, my HD small. I had to install the User option and I Auto allocated drive space.)

I have followed http://www.cyberciti.biz/faq/freebsd-install-kernel-source-code/ (Thank you ondra_knezour) and installed the Kernel Source code and re-ran
Code:
ndisgen

It seems as though I now need to allocate more space to the / section.
After converting the files using ndisgen I get the message:

Code:
/: write failed, filesystem is full. Kernel: pid 921 (ndiscvt), uid 0 inumber 32629 on /: filesystem full.
/: write failed, filesystem is full
objcopy: windrv.o: No space left on device
objcopy: windrv.o: No space left on device

Tonight/tomorrow I will now attempt to allocate more space to "/" after a bunch of Google-ing, I will post my results soon.

Thank you all
 
Okay, I have just installed FreeBSD 8 and re-ran everything from the above tutorial to convert a windows driver. Everything converted and ran correctly.
I loaded the driver by
Code:
kldload ./bcmwl5_sys.ko
I then tried to follow the tutorial. I was still unable to see a result from
Code:
dmesg | grep ndis
I was under the assumption FreeBSD 8 would allow me to attach a ndis driver, guess not.

I will now attempt to compile the BWI(4) driver into the kernel as recommended by richardpl.

Thank you again.
 
You just need to load module, no need to make custom kernel.

You will need to build firmware for that driver from ports too.
 
Upon reading here I have learned that ndis is native since FreeBSD 5.3; I even followed the documentation and I still could not get a ndis0 device to load.

As for installing bwi from port I get another error:

Code:
wl_apsta-3.130.20.0.o doesn't seem to exist in /usr/ports/distfiles/

I tried to manually download this by going to the ftp site in the output message:

ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/wl_apsta-3.130.20.0.o

However, nothing is there. I even checked the ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles directory.

How can I manually acquire this file to complete the command:

Code:
#cd /usr/ports/net/bwi-firmware-kmod
#make install ; make clean

:q
 
Originally Posted by richardpl
There are another two working locations to download that file.

Thank you, I should of realized this. bwi-firmware-kmod is now installed.

I then set the /boot/loader.conf file to contain the command if_bwi_load="YES"

After this I rebooted the system.

I then checked the output of my log file at /var/log/console.log

However, I am unsure of what to look for, I do not see anything "dummy called"
is there something specific that I am missing?

Here is the output:
Code:
Nov 22 11:13:23  kernel: Nov 22 11:13:23  syslogd: exiting on signal 15
Nov 22 11:16:51  kernel: Nov 22 11:16:51  reboot: rebooted by root
Nov 22 16:17:12  kernel: Setting hostuuid: 550528f4-d6ba-11de-aaa6-910f5dd49133.
Nov 22 16:17:12  kernel: Setting hostid: 0x7520a5cc.
Nov 22 16:17:12  kernel: Entropy harvesting:
Nov 22 16:17:12  kernel: interrupts
Nov 22 16:17:12  kernel: ethernet
Nov 22 16:17:12  kernel: point_to_point
Nov 22 16:17:12  kernel: kickstart
Nov 22 16:17:12  kernel: .
Nov 22 16:17:12  kernel: Starting file system checks:
Nov 22 16:17:12  kernel: /dev/ad0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 16:17:12  kernel: /dev/ad0s1a: clean, 75888 free (3312 frags, 9072 blocks, 2.1% fragmentation)
Nov 22 16:17:12  kernel: /dev/ad0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 16:17:12  kernel: /dev/ad0s1e: clean, 110961 free (41 frags, 13865 blocks, 0.0% fragmentation)
Nov 22 16:17:12  kernel: /dev/ad0s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 16:17:12  kernel: /dev/ad0s1f: clean, 1220188 free (5076 frags, 151889 blocks, 0.3% fragmentation)
Nov 22 16:17:12  kernel: /dev/ad0s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 16:17:12  kernel: /dev/ad0s1d: clean, 174310 free (46 frags, 21783 blocks, 0.0% fragmentation)
Nov 22 16:17:12  kernel: Mounting local file systems:
Nov 22 16:17:12  kernel: .
Nov 22 16:17:12  kernel: /etc/rc: WARNING: $hostname is not set -- see rc.conf(5).
Nov 22 16:17:12  kernel: Starting Network: lo0.
Nov 22 16:17:12  kernel: lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
Nov 22 16:17:12  kernel: options=3<RXCSUM,TXCSUM>
Nov 22 16:17:12  kernel: inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
Nov 22 16:17:12  kernel: inet6 ::1 prefixlen 128 
Nov 22 16:17:12  kernel: inet 127.0.0.1 netmask 0xff000000 
Nov 22 16:17:12  kernel: Starting devd.
Nov 22 16:17:12  kernel: Creating and/or trimming log files
Nov 22 16:17:12  kernel: .
Nov 22 16:17:12  kernel: Starting syslogd.
Nov 22 16:17:12  kernel: ELF ldconfig path: /lib /usr/lib /usr/lib/compat
Nov 22 16:17:13  kernel: a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
Nov 22 16:17:13  kernel: Clearing /tmp (X related).
Nov 22 16:17:15  kernel: Updating motd:
Nov 22 16:17:15  kernel: .
Nov 22 16:17:16  kernel: Configuring syscons:
Nov 22 16:17:16  kernel: blanktime
Nov 22 16:17:16  kernel: .
Nov 22 16:17:16  kernel: Starting sshd.
Nov 22 16:17:19  kernel: Starting cron.
Nov 22 16:17:19  kernel: Starting background file system checks in 60 seconds.
Nov 22 16:17:19  kernel: 
Nov 22 16:17:19  kernel: Sun Nov 22 16:17:19 EST 2009
Nov 22 16:17:34  kernel: Nov 22 16:17:34  login: ROOT LOGIN (root) ON ttyv0
Nov 22 16:57:27  kernel: Nov 22 16:57:27  shutdown: halt by root: 
Nov 22 16:57:31  kernel: Stopping cron.
Nov 22 16:57:31  kernel: Stopping sshd.
Nov 22 16:57:31  kernel: Waiting for PIDS: 719
Nov 22 16:57:33  kernel: .
Nov 22 16:57:35  kernel: Stopping devd.
Nov 22 16:57:35  kernel: Waiting for PIDS: 403
Nov 22 16:57:37  kernel: .
Nov 22 16:57:37  kernel: Writing entropy file:
Nov 22 16:57:37  kernel: .
Nov 22 21:57:56  kernel: Setting hostuuid: 550528f4-d6ba-11de-aaa6-910f5dd49133.
Nov 22 21:57:56  kernel: Setting hostid: 0x7520a5cc.
Nov 22 21:57:56  kernel: Entropy harvesting:
Nov 22 21:57:56  kernel: interrupts
Nov 22 21:57:56  kernel: ethernet
Nov 22 21:57:56  kernel: point_to_point
Nov 22 21:57:56  kernel: kickstart
Nov 22 21:57:56  kernel: .
Nov 22 21:57:56  kernel: Starting file system checks:
Nov 22 21:57:56  kernel: /dev/ad0s1a: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 21:57:56  kernel: /dev/ad0s1a: clean, 75835 free (3307 frags, 9066 blocks, 2.1% fragmentation)
Nov 22 21:57:56  kernel: /dev/ad0s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 21:57:56  kernel: /dev/ad0s1e: clean, 110961 free (33 frags, 13866 blocks, 0.0% fragmentation)
Nov 22 21:57:56  kernel: /dev/ad0s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 21:57:56  kernel: /dev/ad0s1f: clean, 1219372 free (5060 frags, 151789 blocks, 0.3% fragmentation)
Nov 22 21:57:56  kernel: /dev/ad0s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS
Nov 22 21:57:56  kernel: /dev/ad0s1d: clean, 174276 free (36 frags, 21780 blocks, 0.0% fragmentation)
Nov 22 21:57:56  kernel: Mounting local file systems:
Nov 22 21:57:56  kernel: .
Nov 22 21:57:56  kernel: /etc/rc: WARNING: $hostname is not set -- see rc.conf(5).
Nov 22 21:57:56  kernel: Starting Network: lo0.
Nov 22 21:57:56  kernel: lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
Nov 22 21:57:56  kernel: options=3<RXCSUM,TXCSUM>
Nov 22 21:57:56  kernel: inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
Nov 22 21:57:56  kernel: inet6 ::1 prefixlen 128 
Nov 22 21:57:56  kernel: inet 127.0.0.1 netmask 0xff000000 
Nov 22 21:57:56  kernel: Starting devd.
Nov 22 21:57:56  kernel: Creating and/or trimming log files
Nov 22 21:57:56  kernel: .
Nov 22 21:57:56  kernel: Starting syslogd.
Nov 22 21:57:56  kernel: ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib
Nov 22 21:57:56  kernel: a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout
Nov 22 21:57:57  kernel: Clearing /tmp (X related).
Nov 22 21:57:58  kernel: Updating motd:
Nov 22 21:57:58  kernel: .
Nov 22 21:57:59  kernel: Configuring syscons:
Nov 22 21:57:59  kernel: blanktime
Nov 22 21:57:59  kernel: .
Nov 22 21:57:59  kernel: Starting sshd.
Nov 22 21:58:02  kernel: Starting cron.
Nov 22 21:58:02  kernel: Starting background file system checks in 60 seconds.
Nov 22 21:58:02  kernel: 
Nov 22 21:58:02  kernel: Sun Nov 22 21:58:02 EST 2009
Nov 22 21:58:12  kernel: Nov 22 21:58:12  login: ROOT LOGIN (root) ON ttyv0

I do not know what I need to continue doing to get the linksys light to go on/card to work. Is it just a matter of bringing the interface up at this point?
 
In regard to the post from DutchDaemon

What does
Code:
Nov 22 21:58:02  kernel: Sun Nov 22 21:58:02 EST 2009
show? That bcmwl5_sys.ko has loaded?

I do not see another ethernet device for the card when running the command ifconfig

Code:
#ifconfig
does not show bwi0, it shows:

Code:
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
	options=3<RXCSUM,TXCSUM>
	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 
	inet6 ::1 prefixlen 128 
	inet 127.0.0.1 netmask 0xff000000

When I pull out the nic card and reinsert I still get the message:

Code:
# cardbus1: Expecting link target, got 0x92
cardbus1: Expecting link target, got 0x92
cardbus1: <network> at device 0.0 (no driver attached)
 
Back
Top