Date: Sun, 26 Nov 2006 18:10:39 -0700 From: jvk-list@thekrafts.org To: freebsd-mobile@freebsd.org Cc: Russell.Wood@rac.com.au Subject: RE: Xircom XE2000 card Message-ID: <20061126181039.10b6271f30786ad7adcc9756bb6c2f30.6963f5fd1b.wbe@email.secureserver.net>
next in thread | raw e-mail | index | archive | help
>-------- Original Message -------- >Subject: Xircom XE2000 card >From: jvk-list@thekrafts.org >Date: Fri, November 17, 2006 9:44 am >To: freebsd-mobile@freebsd.org >I have an Inspiron 7000 laptop I've set up as a FreeBSD server running Version 6.1. I have a Xircom XE2000 >ethernet card I'd like to use. It appears to be recognized by FreeBSD, but doesn't startup correctly. In >searching I've seen references to it working with FreeBSD, but indicate it should use the xe driver. >Here's what the dmesg says: >ed1: <Xircom 10/100 Network PC Card> at port 0x100-0x10f iomem 0x88000000-0x88000fff irq 1 >1 function 0 config 1 on pccard0 >device_attach: ed1 attach returned 6 >Looking at the hardware list it should be supported by the dc or xe drivers, but not the ed driver. Am I >missing something easy, or is this card not reallyl supported at all? >Thanks, >Joe. I've taken this about as far as I can, I need someone else with more knowledge about how the device drivers work to validate and actually get the issue fixed in the source. MY SOLUTION: The real answer to my problem which was how to get my Xircom XE2000 card to work with FreeBSD 6.1 took a bit of googleing and digging through the code. The issue is evidentally that there are at least two incarnations of the XE2000 card, and as luck would have it the one I had was not recognized correctly by the xe driver. The bottom line is that the card is recognized by the xe driver, but I had to add entries for it to the pccarddevs file as well as to the xe driver. I apologize for not being able to create normal diffs. With the setup I'm forced to live with right now, I'm lucky to have e-mail access. I hope someone can decipher my freeform version, and generate a proper one so it can be comitted. For the first part, src/sys/dev/pccard/pccarddevs must be modified. For version 1.125, add the following after line 600: product XIRCOM XE2000_2 0x010a Xircom XE2000 10/100 Ethernet The second part is in: src/sys/dev/pccard/if_xe_pccard.c. The current version is 1.32, add the following after line 125: { PCMCIA_CARD_D(XIRCOM, XE2000), 0x53, XE_CARD_TYPE_FLAGS_MOHAWK }, { PCMCIA_CARD_D(XIRCOM, XE2000_2), 0x53, XE_CARD_TYPE_FLAGS_MOHAWK }, This is essentially the same change as requested in kern/85266 in the bugs database, updated slightly for the new format of pccarddevs for 6.0. UNRESOLVED ISSUE: I'm also a little concerned by the fact that the ed(4) driver tries to grab the device, I had to build a kernel without ed(4) to get the xe driver to recognize the card. Thanks everyone for the help I received on the freebsd-questions list. Joe. Here's the part of the dmesg from the card insertion with hw.pccard.debug=1 and hw.xe.debug=2 sysctls set. Nov 27 02:56:56 dragon kernel: pccard0: chip_socket_enable Nov 27 02:56:56 dragon kernel: pccard0: read_cis Nov 27 02:56:56 dragon kernel: pccard0: check_cis_quirks Nov 27 02:56:56 dragon kernel: pccard0: CIS version PC Card Standard 5.0 Nov 27 02:56:56 dragon kernel: pccard0: CIS info: Xircom, 10/100 Network PC Card, XE2000, 1.00 Nov 27 02:56:56 dragon kernel: pccard0: Manufacturer code 0x105, product 0x10a Nov 27 02:56:56 dragon kernel: pccard0: function 0: network adapter, ccr addr 800 mask 3 Nov 27 02:56:56 dragon kernel: pccard0: function 0, config table entry 1: I/O card; irq mask 8ebc; iomask 4, ios pace 0-f; memspace 0-fff; mwait_required rdybsy_active io8 io16 irqpulse irqlevel powerdown Nov 27 02:56:56 dragon kernel: pccard0: functions scanning Nov 27 02:56:56 dragon kernel: pccard0: Card has 1 functions. pccard_mfc is 0 Nov 27 02:56:56 dragon kernel: pccard0: I/O rid 0 start 0 end ffffffff Nov 27 02:56:56 dragon kernel: pccard0: Memory rid 0 start 0 end ffffffff Nov 27 02:56:56 dragon kernel: pccard0: ccr_res == 88001000-880013ff, base=800 Nov 27 02:56:56 dragon kernel: pccard0: function 0 CCR at 0 offset 800: 41 0 0 0, 0 0 0 41, 0 Nov 27 02:56:56 dragon kernel: xe0: pccard_probe Nov 27 02:56:56 dragon kernel: xe0: <Xircom XE2000 10/100 Ethernet> at port 0x100-0x10f iomem 0x88000000-0x88000 fff irq 11 function 0 config 1 on pccard0 Nov 27 02:56:56 dragon kernel: xe0: pccard_attach Nov 27 02:56:56 dragon kernel: xe0: vendor = 0x0105 Nov 27 02:56:56 dragon kernel: xe0: product = 0x010a Nov 27 02:56:56 dragon kernel: xe0: prodext = 0x53 Nov 27 02:56:56 dragon kernel: xe0: vendor_str = Xircom Nov 27 02:56:56 dragon kernel: xe0: product_str = 10/100 Network PC Card Nov 27 02:56:56 dragon kernel: xe0: cis3_str = XE2000 Nov 27 02:56:56 dragon kernel: xe0: cis4_str = 1.00 Nov 27 02:56:56 dragon kernel: xe0: activate Nov 27 02:56:56 dragon kernel: xe0: [GIANT-LOCKED] Nov 27 02:56:56 dragon kernel: xe0: attach Nov 27 02:56:56 dragon kernel: xe0: reset Nov 27 02:56:56 dragon kernel: xe0: version 0x45/0x04, 100Mbps capable Nov 27 02:56:56 dragon kernel: xe0: DingoID=0x444b, RevisionID=0x0001, VendorID=0x0000 Nov 27 02:56:56 dragon kernel: xe0: Ethernet address: 00:10:a4:b8:03:5a Nov 27 02:56:56 dragon kernel: xe0: if_start running deferred for Giant Nov 27 02:56:56 dragon kernel: pccard0: function 0 CCR at 0 offset 800 mask 3: 41 0 0 0, 0 0 0 41, 0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061126181039.10b6271f30786ad7adcc9756bb6c2f30.6963f5fd1b.wbe>