Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 May 1999 09:15:41 -0700 (PDT)
From:      Doug Ambrisko <ambrisko@whistle.com>
To:        hackers@FreeBSD.ORG
Subject:   PCMCIA "sio" problem with current
Message-ID:  <199905281615.JAA32866@whistle.com>

next in thread | raw e-mail | index | archive | help
I wondering if I'm missing something here.  I had PCMCIA stuff working
for a NE2000 ethernet card but not for serial ports.  Does anyone have
serial ports working (ie. modems or serial cards)?  I had this laptop
working with 3.1 and just upgraded it to current and the serial port
stopped working.

Here is what is reported from pccardd:
  May 28 09:00:01 770z /kernel: Card inserted, slot 0
  May 28 09:00:06 770z pccardd[1428]: Using I/O addr 0x3e8, size 8
  May 28 09:00:06 770z pccardd[1428]: Setting config reg at offs 0xff80 to 0x5f, R
  eset time = 50 ms
  May 28 09:00:11 770z pccardd[1428]: Assigning I/O window 0, start 0x3e8, size 0x8 flags 0x7
  May 28 09:00:11 770z pccardd[1428]: Assign sio2, io 0x3e8, mem 0x0, 0 bytes, irq 9, flags 80
  May 28 09:00:11 770z pccardd[1428]: driver allocation failed for Xircom

Significant boot messages:
  May 28 08:11:14 770z /kernel: PC-Card Intel 82365 (5 mem & 2 I/O windows)
  May 28 08:11:14 770z /kernel: pcic: controller irq 3
  May 28 08:11:14 770z /kernel: Initializing PC-card drivers: ed xe

Looking at the code /sys/pccard/pccard.c:
  static int
  allocate_driver(struct slot *slt, struct dev_desc *desc)
  {
        struct pccard_devinfo *devi;
        struct pccard_device *drv;
        int err, irq = 0, s;

        drv = find_driver(desc->name);
        printf("Found driver %s,%p\n",desc->name,drv); /*DJA DEBUG*/
        if (drv == 0)
                return(ENXIO);

Is returning not found since it is not in the list of "Initializing 
PC-card drivers: ed xe".  Confirmed by my debug printf.

grep sio /sys/i386/conf/files.i386, returns
   isa/sio.c                       optional        sio     device-driver

Looking at /sys/isa/sio.c, line 96 on:
  #if 0 
 
  #include "card.h"
  #if NCARD > 0
  #include <sys/module.h>
  #include <pccard/cardinfo.h>
  #include <pccard/slot.h>
  #endif
 
  #if NPNP > 0
  #include <i386/isa/pnp.h>
  #endif
 
  #endif

In 3.1 the laptop used /sys/i386/isa/iso.c and this code was not ifdef'ed out.

This change appears to be part of the new-bus stuff with the changes 
narrowed down to	
	i386/conf/files.i386 rev 1.236
	isa/sio.c	     rev 1.216

So to me this looks like work to be done, ie. convert the pccard stuff to 
call new-bus drivers or some capatibility layer needs to be done or I'm
smoking dope.

Thanks,

Doug A.


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




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