Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Oct 1998 05:42:11 +0200
From:      Daniel Rock <rock@cs.uni-sb.de>
To:        isdn@FreeBSD.ORG
Subject:   Sedlbauer Winspeed and 3.0-current
Message-ID:  <362EA993.C649EDCA@cs.uni-sb.de>

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

recently I got all sorts of problems trying to reconfigure my 3.0-current
system. They seem all to be related to the PnP code in i4b. Here is my
horror story in detail:

I just wanted to remove some unused options and drivers in my bloated custom
kernel. After removing them, the machine hung just before the
Probing for devices on the ISA bus:
(just after the PnP probe, but the kernel didn't find "isic1").
Only after re-enabling device pcm0 (Luigi's sound code), the PnP probe
succeded (the isic1 device showed up), just to the point where the machine
rebootet immediately after displaying
Probing for devices on the ISA bus:
I re-enabled some more options and devices and found out I had to enable
*both* IPFIREWALL and IPFILTER to make the machine work again (I haven't tried
IPFILTER alone, though, because I need the divert-sockets)

If I compile an working kernel as ELF, the boot process stops again during
the PnP probe.

Therefor I hacked the i4b source. The patch below allows you to use the
winspeed card without the PnP code. You can now configure your card as usual:

options         "SEDLBAUER"
device          isic0   at isa? port 0x100 net irq 10 flags 0x18 vector
isicintr

(no I4B_PNP)

Beware: The port and irq value aren't really probed.
You may have to boot "-c" and set the PnP configuration manually:
pnp 1 0 enable os port0 0x100 irq0 10 (if this is the only PnP card)

Did anybody else had similar problems with a recent -current and PnP ISDN
cards?

Daniel

*** i4b_sws.c.orig      Thu Oct 22 04:59:43 1998
--- i4b_sws.c   Thu Oct 22 05:34:18 1998
***************
*** 70,79 ****
  #include "pnp.h"
  #endif
  
- #if !defined(I4B_PNP) || ( defined(__FreeBSD__) && NPNP == 0 )
- #error "PnP is mandatory for sedlbauer win speed"
- #endif
- 
  /* defines for registers, see above */
  
  #define SWS_RESON  0
--- 70,75 ----
***************
*** 297,302 ****
--- 293,299 ----
  
  #ifdef __FreeBSD__
  
+ #ifdef I4B_PNP
  u_long nisdn = I4B_PNP;
  
  extern struct isa_driver isicdriver;
***************
*** 334,340 ****
--- 331,347 ----
  
      return NULL ;
  }
+ #endif
+ 
+ #ifndef I4B_PNP
+ int isic_probe_sws(struct isa_device *dev)
+ {
+   /* Ick */
+   return (1);
+ }
+ #endif
  
+ #ifdef I4B_PNP
  static void
  sws_pnp_attach(u_long csn, u_long vend_id, char *name,
                 struct isa_device *dev)
***************
*** 370,375 ****
--- 377,383 ----
  
        isicattach(dev);
  }
+ #endif
  
  int
  isic_attach_sws(struct isa_device *dev)

*** i4b_isic.c.orig     Thu Oct 22 05:40:20 1998
--- i4b_isic.c  Thu Oct 22 05:40:10 1998
***************
*** 280,285 ****
--- 280,291 ----
                        break;
  #endif
  
+ #ifdef SEDLBAUER
+               case FLAG_SWS:
+                       ret = isic_probe_sws(dev);
+                       break;
+ #endif
+ 
  #ifdef TEL_S0_16_3_P
                case FLAG_TELES_S0_163_PnP:
                        ret = isic_probe_s0163P(dev);

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



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