View Full Version : PCMCIA -- "Card has no functions!"
vincent
02-07-2007, 07:12 PM
Hi guys,
so i finally installed PC-BSD on a laptop, a pretty nice OS!
But I'm having problems to get my W-Lan-Card to work. dmesg gives the error message:
pccard0: Card has no functions!
cbb0: PC Card activation failed
So, I tried to changed the pccard_mem value in rc.conf to all advices in the manpage of pccardc (0xd0000, 0xd4000,....) but this didn't changed the status.
I'm having a
O2Micro OZ6912 Cardbus-Controler
Texas Instruments PCI-1410 Cardbus-Controler
Lucent WaveLan-Card (supported by wi)
Any suggestions?
PS: I'm new to BSD, so please step-by-step ;)
vincent
02-08-2007, 03:04 PM
So I finally linked the laptop to the Internet over a cable. Here is the output of dmesg:
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 6.1-RELEASE-p11 #3: Wed Dec 20 18:51:13 PST 2006
root@PCBSD.localhost:/usr/obj/usr/src/sys/PCBSDv1.3
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) III Mobile CPU 1000MHz (1332.80-MHz 686-class CPU)
Origin = "GenuineIntel" Id = 0x6b1 Stepping = 1
Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MC A,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory = 536739840 (511 MB)
avail memory = 515866624 (491 MB)
kbd1 at kbdmux0
acpi0: < REX> on motherboard
acpi0: Power Button (fixed)
acpi_ec0: <Embedded Controller: GPE 0x1d> port 0x62,0x66 on acpi0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf108-0xf10b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_perf0: <ACPI CPU Frequency Control> on cpu0
acpi_button0: <Sleep Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <Intel 82830 host to AGP bridge> mem 0xe0000000-0xefffffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
drm0: <ATI Radeon LY RV100 Mobility M6> port 0xa000-0xa0ff mem 0x88000000-0x8fffffff,0x80500000-0x8050ffff irq 11 at device 0.0 on pci1
info: [drm] AGP at 0xe0000000 256MB
info: [drm] Initialized radeon 1.19.0 20050911
uhci0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> port 0xd040-0xd05f irq 11 at device 29.0 on pci0
uhci0: [GIANT-LOCKED]
usb0: <Intel 82801CA/CAM (ICH3) USB controller USB-A> on uhci0
usb0: USB revision 1.0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <Intel 82801CA/CAM (ICH3) USB controller USB-B> port 0xd080-0xd09f irq 11 at device 29.1 on pci0
uhci1: [GIANT-LOCKED]
usb1: <Intel 82801CA/CAM (ICH3) USB controller USB-B> on uhci1
usb1: USB revision 1.0
uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
uhci2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> port 0xd0c0-0xd0df at device 29.2 on pci0
uhci2: [GIANT-LOCKED]
usb2: <Intel 82801CA/CAM (ICH3) USB controller USB-C> on uhci2
usb2: USB revision 1.0
uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
pcib2: <ACPI PCI-PCI bridge> at device 30.0 on pci0
pci2: <ACPI PCI bus> on pcib2
fwohci0: <Texas Instruments TSB43AB22/A> mem 0x90100000-0x901007ff,0x90104000-0x90107fff irq 11 at device 3.0 on pci2
fwohci0: OHCI version 1.10 (ROM=1)
fwohci0: No. of Isochronous channels is 4.
fwohci0: EUI64 10:25:10:1d:00:02:b3:7c
fwohci0: Phy 1394a available S400, 2 ports.
fwohci0: Link S400, max_rec 2048 bytes.
firewire0: <IEEE1394(FireWire) bus> on fwohci0
fwe0: <Ethernet over FireWire> on firewire0
if_fwe0: Fake Ethernet address: 12:25:10:02:b3:7c
fwe0: Ethernet address: 12:25:10:02:b3:7c
fwe0: if_start running deferred for Giant
sbp0: <SBP-2/SCSI over FireWire> on firewire0
fwohci0: Initiate bus reset
fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me)
firewire0: bus manager 0 (me)
rl0: <RealTek 8139 10/100BaseTX> port 0x7000-0x70ff mem 0x80100000-0x801000ff irq 10 at device 5.0 on pci2
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:00:e2:5b:bb:90
cbb0: <TI1410 PCI-CardBus Bridge> irq 11 at device 7.0 on pci2
cardbus0: <CardBus bus> on cbb0
pccard0: <16-bit PCCard bus> on cbb0
cbb1: <O2Micro OZ6912/6972 PCI-CardBus Bridge> irq 11 at device 9.0 on pci2
cardbus1: <CardBus bus> on cbb1
pccard1: <16-bit PCCard bus> on cbb1
isab0: <PCI-ISA bridge> at device 31.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <Intel ICH3 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xd450-0xd45f at device 31.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
pci0: <multimedia, audio> at device 31.5 (no driver attached)
pci0: <simple comms, generic modem> at device 31.6 (no driver attached)
acpi_lid0: <Control Method Lid Switch> on acpi0
acpi_acad0: <AC Adapter> on acpi0
battery0: <ACPI Control Method Battery> on acpi0
battery1: <ACPI Control Method Battery> on acpi0
acpi_tz0: <Thermal Zone> on acpi0
acpi_tz1: <Thermal Zone> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
ppc0: <Standard parallel printer port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sio0 port 0x2f8-0x2ff,0x240-0x247 irq 3 drq 3 flags 0x10 on acpi0
sio0: type 16550A
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xcefff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 1332801773 Hz quality 800
Timecounters tick every 1.000 msec
pccard0: Card has no functions!
cbb0: PC Card card activation failed
ad0: 38154MB <WDC WD400UE-22HCT0 09.07D09> at ata0-master UDMA100
acd0: DVDROM <TOSHIBA DVD-ROM SD-C2502/1C11> at ata1-master UDMA33
cd0 at ata1 bus 0 target 0 lun 0
cd0: <TOSHIBA DVD-ROM SD-C2502 1C11> Removable CD-ROM SCSI-0 device
cd0: 33.000MB/s transfers
cd0: cd present [250831 x 2048 byte records]
Trying to mount root from ufs:/dev/ad0s2a
pcm0: <Intel ICH3 (82801CA)> port 0xc000-0xc0ff,0xc400-0xc43f irq 10 at device 31.5 on pci0
pcm0: <Avance Logic ALC200 AC97 Codec>
Is there a command to print out the PCI-Datas (like lspci under linux)?
Greets,
Vincent[/quote]
antik
02-09-2007, 12:12 PM
I'm having a
O2Micro OZ6912 Cardbus-Controler
Texas Instruments PCI-1410 Cardbus-Controler
Lucent WaveLan-Card (supported by wi)
Any suggestions?
Try to enable debugging from command line first and then reinsert card
# sysctl hw.cbb.debug=1
vincent
02-09-2007, 04:58 PM
Try to enable debugging from command line first and then reinsert card
# sysctl hw.cbb.debug=1
In fact I can't remove the card. it was installed by the laptop-manufacturer with such a small screw, so that I don't have a driver which fits. Would it help to turn on debugging and reload the module?
How can I do this?
Greets,
Vincent.
TerryP
02-10-2007, 04:23 PM
dunno ^ but you can unload modules via
kldunload module
just as you can load a module via
kldload module
where module is the name of the kernel module for example the atheros driver is if_ath so I could
kldload if_ath
kldunload if_ath
vincent
02-11-2007, 01:40 PM
Hi folks,
so I tried to figure out, how modules are working under BSD, but I don't get it! kldstat doesn't show, that there is something like cardbus/pccard/cbb... present.
I tried to kldload any of these drivers, which always returned "can't load XY: File exists".
So, I guess they are already loaded, but trying to kldunload these returns "can't find file XY: No such file or directory".
kldstat -q -m XY simply returns nothing :(
I've been reading through the FreeBSD-Handbook-Module section, but I couldn't find a hint for my problems.
Please give me some advices, where I can start to solve this problem. My Hardware should be supported by all the drivers (at least the man-pages say so).
antik
02-11-2007, 03:07 PM
kldstat -q -m XY simply returns nothing :(
PCMCIA support is built into kernel and not available as module.
dracheflieger
02-11-2007, 04:51 PM
portless pciutils
The PCI Utilities package contains various utilities dealing
with the PCI bus, and also a library for portable access to
PCI configuration registers. It includes `lspci' for listing
all PCI devices (very useful for debugging of both kernel and
device drivers) and `setpci' for manual configuration of PCI
devices.
WWW: http://atrey.karlin.mff.cuni.cz/~mj/pciutils.shtml
In a (k)console, as root, you would need to cd /usr/ports/sysutils/pciutils && make install clean && rehash
TerryP
02-11-2007, 08:06 PM
kldstat -v should show more details.
vincent
02-11-2007, 08:25 PM
I tried to install pci-utils, it failed with:
# make
===> Building for pciutils-2.2.3
gmake -C lib all
gmake[1]: Entering directory `/usr/ports/sysutils/pciutils/work/pciutils-2.2.3/lib'
cc -O2 -fno-strict-aliasing -pipe -Wall -W -Wno-parentheses -Wstrict-prototypes -Wmissing-prototypes -Winline -I/usr/src/sys -c -o fbsd-device.o fbsd-device.c
fbsd-device.c:18:30: dev/pci/pcivar.h: No such file or directory
gmake[1]: *** [fbsd-device.o] Error 1
gmake[1]: Leaving directory `/usr/ports/sysutils/pciutils/work/pciutils-2.2.3/lib'
gmake: *** [lib/libpci.a] Error 2
*** Error code 2
Stop in /usr/ports/sysutils/pciutils.
I looked into the source of fbsd-device.c and was a bit confused because of these lines:
#if __FreeBSD_version < 500000
# include <pci/pcivar.h>
#else
# include <dev/pci/pcivar.h>
#endif
As uname says I'm using FreeBSD 6.1-RELEASE-p11, so shouldn't the error-message at least be something like "missing pci/pcivar.h"? Anyway, I don't have such a file called pcivar.h on this HD...
vincent
02-11-2007, 08:33 PM
# kldstat -v | grep pcc
42 pccard/aic
54 pccard/an
58 pccard/ata
69 pccard/awi
81 pccard/cs
92 pccard/ed
96 pccard/ep
99 pccard/fe
156 pccard/ncv
159 pccard/nsp
161 cbb/pccard
162 pcic/pccard
176 pccard/ral
183 pccard/sio
187 pccard/sn
189 pccard/stg
233 pccard/wi
235 pccard/xe
337 pccard/fdc
The driver (wi) seems to be loaded (or builtin in the kernel, not sure about that). So I guess, I have to pass him some parameters. I booted Windows which says, that the card is using IRQ 11 and I/O FF40-FF7F...
Can I pass these values to the driver on some way?
Thanks for your help!
dracheflieger
02-11-2007, 09:02 PM
Update your ports and source and try the port install again. I'm running the same uname returns here but with many ports installed and it installed and worked fine. If that doesn't work then you might try a pkg_add -r pciids as there does exist a package. Good luck
vincent
02-11-2007, 09:36 PM
Yeah, I finally figured it out to install the pciutils package. Anyway, in the output of lspci -v is nothing of great interest. At least I don't see something special.
Would be nice to solve this problem! I'm really enjoying the BSD-way of doing things, installing Linux again would be a mess!
vBulletin® v3.8.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.