Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 06 Jan 2002 23:03:29 +0100 (CET)
From:      webdude@phreaker.net
To:        freebsd-mobile@freebsd.org
Subject:   SMC EZ PC Card NIC on Toshiba Satellite 4080XCDT
Message-ID:  <XFMail.20020106230329.webdude@phreaker.net>

next in thread | raw e-mail | index | archive | help

Hi

Can someone help me getting my pccard NIC to work w/ FreeBSD ?
Looks like I'm nearly there, but for a driver allocation error.

The laptop is a Toshiba Satellite 4080XCDT running FreeBSD 4.4 RELEASE, 
the NIC is a 16bit SMC EZ PC Card (10MB), model SMC8022BT/T (FCC ID: HEDEN2216)

Status so far:

- Kernel recompiled, config file included in this mail
- 'PC Card Controller Mode' in system BIOS changed to 'PCIC compatible'

   Otherwise, one of two happens:

   For 'Autoselect': 
   pcic0: <Toshiba ToPIC97 PCI-CardBus Bridge> irq 11 at device 2.0 pci0
   pcic1: <Toshiba ToPIC97 PCI-CardBus Bridge> irq 11 at device 2.1 pci0

   For 'Cardbus/16-bit':
   
   pcic0: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 2.0 pci0
   pcic1: <Toshiba ToPIC95B PCI-CardBus Bridge> irq 11 at device 2.1 pci0

- /etc/rc.conf now includes pccard_enable="YES"
- removed occupied IRQ's from /etc/defaults/pccard.conf

************************
'pccardc dumpcis' output
************************

Configuration data for card in slot 0
Tuple #1, code = 0x1 (Common memory descriptor), length = 3
    000:  dc 00 ff
        Common memory device information:
                Device number 1, type Function specific, WPS = ON
                Speed = 100nS, Memory block size = 512b, 1 units
Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3
    000:  49 00 ff
        Attribute memory device information:
                Device number 1, type EEPROM, WPS = ON
                Speed = 250nS, Memory block size = 512b, 1 units
Tuple #3, code = 0x20 (Manufacturer ID), length = 4
    000:  08 01 22 80
        PCMCIA ID = 0x108, OEM ID = 0x8022
Tuple #4, code = 0x15 (Version 1 info), length = 36
    000:  04 01 53 4d 43 00 45 5a 43 61 72 64 2d 31 30 2d
    010:  50 43 4d 43 49 41 00 53 4d 43 38 30 32 32 00 52
    020:  30 31 00 ff
        Version = 4.1, Manuf = [SMC], card vers = [EZCard-10-PCMCIA]
        Addit. info = [SMC8022],[R01]
Tuple #5, code = 0x1a (Configuration map), length = 5
    000:  01 24 f8 03 03
        Reg len = 2, config register addr = 0x3f8, last config = 0x24
        Registers: XX------ 
Tuple #6, code = 0x1b (Configuration entry), length = 17
    000:  e0 81 1d 3f 55 4d 5d 06 86 46 26 fc 24 65 30 ff
    010:  ff
        Config index = 0x20(default)
        Interface byte = 0x81 (I/O)  wait signal supported
        Vcc pwr:
                Nominal operating supply voltage: 5 x 1V
                Minimum operating supply voltage: 4.5 x 1V
                Maximum operating supply voltage: 5.5 x 1V
                Continuous supply current: 1 x 100mA
                Max current average over 1 second: 1 x 100mA, ext = 0x46
                Max current average over 10 ms: 2 x 100mA
        Wait scale Speed = 1.5 x 10 us
        Card decodes 5 address lines, full 8/16 Bit I/O
                IRQ modes: Level
                IRQs:  0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Tuple #7, code = 0x1b (Configuration entry), length = 7
    000:  20 08 ca 60 00 03 1f
        Config index = 0x20
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x300 block length = 0x20
Tuple #8, code = 0x1b (Configuration entry), length = 7
    000:  21 08 ca 60 20 03 1f
        Config index = 0x21
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x320 block length = 0x20
Tuple #9, code = 0x1b (Configuration entry), length = 7
    000:  22 08 ca 60 40 03 1f
        Config index = 0x22
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x340 block length = 0x20
Tuple #10, code = 0x1b (Configuration entry), length = 7
    000:  23 08 ca 60 60 03 1f
        Config index = 0x23
        Card decodes 10 address lines, limited 8/16 Bit I/O
                I/O address # 1: block start = 0x360 block length = 0x20
Tuple #11, code = 0x14 (No link), length = 0
Tuple #12, code = 0x21 (Functional ID), length = 2
    000:  06 00
        Network/LAN adapter
Tuple #13, code = 0xff (Terminator), length = 0
2 slots found

**********************************************************
Putting the card in slot0 produces these console messages:
**********************************************************

pccard: card inserted, slot 0
(date) pccardd[86]: Card "SC"("EZCard-10-PCMCIA") [SMC8022] [R01]
       matched "SMC" ("EZCard-10-PCMCIA") [(null)] [(null)]
(date) pccardd[86]: Found existing driver (ed) for SMC
(date) pccardd[86]: Using I/O addr 0x240, size 32
(date) pccardd[86]: Setting config reg at offs 0x3f8 to 0x60
       Reset time = 50 ms
(date) pccardd[86]: Assigning I/O window 0, start 0x240, size 0x20, flags 0x7
(date) pccardd[86]: Assign ed0, io 0x240-0x25f, mem 0x0, 0 bytes, irq 5, flags 0
(date) pccardd[86]: driver allocation failed for SMC(EZCard-10-PCMCIA)
:      Device not configured


*******************
Kernel config file:
*******************

# GANDALF -- Custom kernel configuration file for FreeBSD/i386

machine         i386
cpu             I686_CPU
ident           GANDALF
maxusers        64

#makeoptions    DEBUG=-g                #Build kernel with gdb(1) debug symbols

#options        MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
#options        INET6                   #IPv6 communications protocols
options         FFS                     #Berkeley Fast Filesystem
options         FFS_ROOT                #FFS usable as root device [keep this!]
options         SOFTUPDATES             #Enable FFS soft updates support
options         MFS                     #Memory Filesystem
#options        MD_ROOT                 #MD is a potential root device
#options        NFS                     #Network Filesystem
#options        NFS_ROOT                #NFS usable as root device, NFS required
#options        MSDOSFS                 #MSDOS Filesystem
options         CD9660                  #ISO 9660 Filesystem
#options        CD9660_ROOT             #CD-ROM usable as root, CD9660 required
options         PROCFS                  #Process filesystem
options         COMPAT_43               #Compatible with BSD 4.3 [KEEP THIS!]
options         USER_LDT                #Allow user level control of i386 ldt
#options        SCSI_DELAY=15000        #Delay (in ms) before probing SCSI
options         UCONSOLE                #Allow users to grab the console
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         KTRACE                  #ktrace(1) support
options         SYSVSHM                 #SYSV-style shared memory
options         SYSVMSG                 #SYSV-style message queues
options         SYSVSEM                 #SYSV-style semaphores
options         P1003_1B                #Posix P1003_1B real-time extensions
options         _KPOSIX_PRIORITY_SCHEDULING
options         ICMP_BANDLIM            #Rate limit bad replies
options         KBD_INSTALL_CDEV        #Install a CDEV entry in /dev
#options        PNPBIOS                 #Might be required for onboard sound
options         QUOTA                   #Enables disk quota
# To make an SMP kernel, the next two are needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options        APIC_IO                 # Symmetric (APIC) I/O

device          isa
device          eisa
device          pci

# Floppy drives
device          fdc0    at isa? port IO_FD1 irq 6 drq 2
device          fd0     at fdc0 drive 0
#device         fd1     at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device         fdc0

# ATA and ATAPI devices
#device         ata0    at isa? port IO_WD1 irq 14
#device         ata1    at isa? port IO_WD2 irq 15
device          ata
device          atadisk                 # ATA disk drives
device          atapicd                 # ATAPI CDROM drives
#device         atapifd                 # ATAPI floppy drives
#device         atapist                 # ATAPI tape drives
options         ATA_STATIC_ID           #Static device numbering

# atkbdc0 controls both the keyboard and the PS/2 mouse
device          atkbdc0 at isa? port IO_KBD
device          atkbd0  at atkbdc? irq 1 flags 0x1
options         ATKBD_DFLT_KEYMAP
makeoptions     ATKBD_DFLT_KEYMAP="norwegian.iso.kbd"
device          psm0    at atkbdc? irq 12

device          vga0    at isa?
options         VESA                    # Support for VESA video modes

#Sound support
device          pcm

# splash screen/screen saver
pseudo-device   splash

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? flags 0x100
options         SC_DISABLE_REBOOT       # Disables reboot by CTRL+ALT+DEL

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa?
#options        XSERVER                 # support for X server on a vt console
#options        FAT_CURSOR              # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options        PCVT_SCANSET=2          # IBM keyboards are non-std

# Floating point support - do not disable.
device          npx0    at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device          apm0    at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
device          card
device          pcic0   at isa? irq 0 port 0x3e0 iomem 0xd0000
device          pcic1   at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
device          sio0    at isa? port IO_COM1 flags 0x10 irq 4

# Parallel port
device          ppc0    at isa? irq 7
device          ppbus           # Parallel port bus (required)
device          lpt             # Printer
device          plip            # TCP/IP over parallel
device          ppi             # Parallel port interface device

# PCI Ethernet NICs.
#device         de              # DEC/Intel DC21x4x (``Tulip'')
#device         txp             # 3Com 3cR990 (``Typhoon'')
#device         vx              # 3Com 3c590, 3c595 (``Vortex'')

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device          miibus          # MII bus support
#device         dc              # DEC/Intel 21143 and various workalikes
#device         fxp             # Intel EtherExpress PRO/100B (82557, 82558)
#device         pcn             # AMD Am79C97x PCI 10/100 NICs
#device         rl              # RealTek 8129/8139
#device         sf              # Adaptec AIC-6915 (``Starfire'')
#device         sis             # Silicon Integrated Systems SiS 900/SiS 7016
#device         ste             # Sundance ST201 (D-Link DFE-550TX)
#device         tl              # Texas Instruments ThunderLAN
#device         tx              # SMC EtherPower II (83c170 ``EPIC'')
#device         vr              # VIA Rhine, Rhine II
#device         wb              # Winbond W89C840F
#device         wx              # Intel Gigabit Ethernet Card (``Wiseman'')
#device         xl              # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
#device         ed0     at isa? port 0x280 irq 10 iomem 0xd8000
#device         ex
#device         ep
#device         fe0     at isa? port 0x300
# Xircom Ethernet
#device         xe
# PRISM I IEEE 802.11b wireless NIC.
#device         awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
#device         wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
#device         an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
#device         ie0     at isa? port 0x300 irq 10 iomem 0xd0000
#device         le0     at isa? port 0x300 irq 5 iomem 0xd0000
#device         lnc0    at isa? port 0x280 irq 10 drq 0
#device         cs0     at isa? port 0x300
#device         sn0     at isa? port 0x300 irq 10

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device   loop            # Network loopback
pseudo-device   ether           # Ethernet support
pseudo-device   sl      1       # Kernel SLIP
pseudo-device   ppp     1       # Kernel PPP
pseudo-device   tun             # Packet tunnel.
pseudo-device   pty             # Pseudo-ttys (telnet etc)
pseudo-device   md              # Memory "disks"
pseudo-device   gif             # IPv6 and IPv4 tunneling
pseudo-device   faith   1       # IPv6-to-IPv4 relaying (translation)
pseudo-device   gzip            # Exec gzipped a.out binaries

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device   bpf             #Berkeley packet filter

# USB support
device          uhci            # UHCI PCI->USB interface
#device         ohci            # OHCI PCI->USB interface
device          usb             # USB Bus (required)
#device         ugen            # Generic
#device         uhid            # "Human Interface Devices"
#device         ukbd            # Keyboard
device          ulpt            # Printer
#device         umass           # Disks/Mass storage - Requires scbus and da
#device         ums             # Mouse
device          uscanner        # Scanners
# USB Ethernet, requires mii
#device         aue             # ADMtek USB ethernet
#device         cue             # CATC USB ethernet
#device         kue             # Kawasaki LSI USB ethernet

-- 

best regards, 

Inge Eidsæther Syvertsen
webdude@phreaker.net

*** If an electronic circuit cannot fail, it will. (Murphys Law) ***

(XFMail 1.5.1 on XFree86 4.1.0 running FreeBSD 4.4STABLE)



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-mobile" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.20020106230329.webdude>