Date: Sat, 12 Nov 2005 07:45:07 -0800 (PST) From: Dirk-Willem van Gulik <dirkx@webweaving.org> To: freebsd-hackers@freebsd.org Subject: Sierra Wireless / AC775 / Loading an external cisfile as a 'quirck' Message-ID: <20051112072658.Q14448@skutsje.san.webweaving.org>
next in thread | raw e-mail | index | archive | help
I've got the (correct) CIS files below for a Sierra Wireeless Airnet 775 (AC775) card. The actual data on the card (see second cut-and-paste) is wrong (i.e. multi function instead of a modem). So I am looking for a way to either import a CIS file dynamically; at run time - or to translate a CIS file in what I assume should be a quirk entry in the file /sys/dev/pccard/pccard_cis_quirks.c (is that corect) ? I.e. something akin to: #cat SW_775_SER.dat > /dev/pccard0.cis Looking for a solution on either 5, 6 or CURRENT. Any hints - or guidance how to best map this into the quirk section - as the fields are not quite clear to me. Dw -- part 1 - supposedly correct CIS file as supplied for other OS-es. dirkx@test $ pccardc dumpcisfile SW_775_SER.dat Configuration data for file SW_775_SER.dat Tuple #1, code = 0x1 (Common memory descriptor), length = 1 000: ff Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3 000: 41 00 ff Attribute memory device information: Device number 1, type EEPROM, WPS = OFF Speed = 250nS, Memory block size = 512b, 1 units Tuple #3, code = 0x20 (Manufacturer ID), length = 4 000: 92 01 10 07 PCMCIA ID = 0x192, OEM ID = 0x710 Tuple #4, code = 0x21 (Functional ID), length = 2 000: 02 00 Serial port/modem Tuple #5, code = 0x15 (Version 1 info), length = 49 000: 07 00 53 69 65 72 72 61 20 57 69 72 65 6c 65 73 010: 73 00 41 43 37 37 35 00 45 44 47 45 20 4e 65 74 020: 77 6f 72 6b 20 41 64 61 70 74 65 72 00 52 31 00 030: ff Version = 7.0, Manuf = [Sierra Wireless], card vers = [AC775] Addit. info = [EDGE Network Adapter],[R1] Tuple #6, code = 0x1a (Configuration map), length = 5 000: 01 03 00 07 73 Reg len = 2, config register addr = 0x700, last config = 0x3 Registers: XX--XXX- Tuple #7, code = 0x1b (Configuration entry), length = 16 000: e0 01 19 78 4d 55 5d 25 a3 60 f8 03 07 30 bc 86 Config index = 0x20(default) Interface byte = 0x1 (I/O) Vcc pwr: Continuous supply current: 4.5 x 10mA Max current average over 1 second: 5 x 10mA Max current average over 10 ms: 5.5 x 10mA Power down supply current: 2 x 10mA Card decodes 3 address lines, 8 Bit I/O only I/O address # 1: block start = 0x3f8 block length = 0x8 IRQ modes: Level IRQs: 2 3 4 5 7 9 10 15 Tuple #8, code = 0x1b (Configuration entry), length = 8 000: a1 01 08 a3 60 f8 02 07 Config index = 0x21 Interface byte = 0x1 (I/O) Card decodes 3 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2f8 block length = 0x8 Tuple #9, code = 0x1b (Configuration entry), length = 8 000: a2 01 08 a3 60 e8 03 07 Config index = 0x22 Interface byte = 0x1 (I/O) Card decodes 3 address lines, 8 Bit I/O only I/O address # 1: block start = 0x3e8 block length = 0x8 Tuple #10, code = 0x1b (Configuration entry), length = 8 000: a3 01 08 a3 60 e8 02 07 Config index = 0x23 Interface byte = 0x1 (I/O) Card decodes 3 address lines, 8 Bit I/O only I/O address # 1: block start = 0x2e8 block length = 0x8 Tuple #11, code = 0x1b (Configuration entry), length = 4 000: a4 01 08 23 Config index = 0x24 Interface byte = 0x1 (I/O) Card decodes 3 address lines, 8 Bit I/O only Tuple #12, code = 0x14 (No link), length = 0 Tuple #13, code = 0xff (Terminator), length = 0 ACtual stuff on the card root@builld-jv# pccardc dumpcisfile /dev/pccard0.cis Configuration data for file /dev/pccard0.cis Tuple #1, code = 0x1 (Common memory descriptor), length = 2 000: 00 ff Common memory device information: Device number 1, type No device, WPS = OFF Speed = No speed, Memory block size = reserved, 32 units Tuple #2, code = 0x17 (Attribute memory descriptor), length = 3 000: 41 00 ff Attribute memory device information: Device number 1, type EEPROM, WPS = OFF Speed = 250nS, Memory block size = 512b, 1 units Tuple #3, code = 0x20 (Manufacturer ID), length = 4 000: 92 01 10 07 PCMCIA ID = 0x192, OEM ID = 0x710 Tuple #4, code = 0x21 (Functional ID), length = 2 000: 06 00 Network/LAN adapter Tuple #5, code = 0x15 (Version 1 info), length = 49 000: 07 00 53 69 65 72 72 61 20 57 69 72 65 6c 65 73 010: 73 00 41 43 37 37 35 00 45 44 47 45 20 4e 65 74 020: 77 6f 72 6b 20 41 64 61 70 74 65 72 00 52 31 00 030: ff Version = 7.0, Manuf = [Sierra Wireless], card vers = [AC775] Addit. info = [EDGE Network Adapter],[R1] Tuple #6, code = 0x1a (Configuration map), length = 5 000: 01 03 00 07 73 Reg len = 2, config register addr = 0x700, last config = 0x3 Registers: XX--XXX- Tuple #7, code = 0x1b (Configuration entry), length = 9 000: c1 41 19 01 55 66 30 f8 ff Config index = 0x1(default) Interface byte = 0x41 (I/O) +RDY/-BSY active Vcc pwr: Nominal operating supply voltage: 5 x 1V Card decodes 6 address lines, full 8/16 Bit I/O IRQ modes: Level IRQs: 3 4 5 6 7 8 9 10 11 12 13 14 15 Tuple #8, code = 0xff (Terminator), length = 0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051112072658.Q14448>