Re: [GIT PULL net-next, resend] isdn: deprecate non-mISDN drivers

2019-06-03 Thread Werner Cornelius
Am Freitag, 31. Mai 2019 schrieb Arnd Bergmann:

Just for information about the history and maybe state of parts of the old 
ISDN drivers.
There are still some large private ISDN networks available and will stay 
available for several years. I am still serving solutions there, but without 
i4l or capi.
I know one customer of mine that might use i4l for this purpose only. But 
maybe they switched over to a totally different solution, as  ISDN was the 
third level of fallback there.
I didn't receive any requests for service or migration from any outside party 
for years and so there has nothing been done on this drivers.

I am the author of the complete supplementary services (diversion...) the 
complete hysdn and parts of the Hisax  and i4l.

Hysdn was used by many shop companies and banks, but as the company producing 
the needed pci cards became bankrupt nearly 15 years ago and the company which 
bought the remaining rest does no longer exist too, I assume that there will 
be no or few users of this driver part only.
  
Its a bit sad that the software will disappear, but when there is no need any 
longer and of course support and test are difficult its understandable that it 
should phase out.

Best regards

Werner



> [resending, rebased on top of today's net-next]
> 
> The following changes since commit
>  7b3ed2a137b077bc0967352088b0adb6049eed20:
> 
>   Merge branch '100GbE' of
> git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue
> (2019-05-30 15:17:05 -0700)
> 
> are available in the Git repository at:
> 
>  https://git.kernel.org/pub/scm/linux/kernel/git/arnd/playground.git
> tags/isdn-removal
> 
> for you to fetch changes up to 6d97985072dc270032dc7a08631080bfd6253e82:
> 
>   isdn: move capi drivers to staging (2019-05-31 11:17:41 +0200)
> 
> 
> isdn: deprecate non-mISDN drivers
> 
> When isdn4linux came up in the context of another patch series, I
> remembered that we had discussed removing it a while ago.
> 
> It turns out that the suggestion from Karsten Keil wa to remove I4L
> in 2018 after the last public ISDN networks are shut down. This has
> happened now (with a very small number of exceptions), so I guess it's
> time to try again.
> 
> We currently have three ISDN stacks in the kernel: the original
> isdn4linux (with the hisax driver), the newer CAPI (with four drivers),
> and finally the mISDN stack (supporting roughly the same hardware as
> hisax).
> 
> As far as I can tell, anyone using ISDN with mainline kernel drivers in
> the past few years uses mISDN, and this is typically used for voice-only
> PBX installations that don't require a public network.
> 
> The older stacks support additional features for data networks, but those
> typically make no sense any more if there is no network to connect to.
> 
> My proposal for this time is to kill off isdn4linux entirely, as it seems
> to have been unusable for quite a while. This code has been abandoned
> for many years and it does cause problems for treewide maintenance as
> it tends to do everything that we try to stop doing.
> Birger Harzenetter mentioned that is is still using i4l in order to
> make use of the 'divert' feature that is not part of mISDN, but has
> otherwise moved on to mISDN for normal operation, like apparently
> everyone else.
> 
> CAPI in turn is not quite as obsolete, but two of the drivers (avm
> and hysdn) don't seem to be used at all, while another one (gigaset)
> will stop being maintained as Paul Bolle is no longer able to
> test it after the network gets shut down in September.
> All three are now moved into drivers/staging to let others speak
> up in case there are remaining users.
> This leaves Bluetooth CMTP as the only remaining user of CAPI, but
> Marcel Holtmann wishes to keep maintaining it.
> 
> For the discussion on version 1, see [2]
> Unfortunately, Karsten Keil as the maintainer has not participated in
> the discussion.
> 
>   Arnd
> 
> [1] https://patchwork.kernel.org/patch/8484861/#17900371
> [2]
>  https://listserv.isdn4linux.de/pipermail/isdn4linux/2019-April/thread.html
> 
> 
> 
> Arnd Bergmann (5):
>   isdn: gigaset: remove i4l support
>   isdn: remove hisax driver
>   isdn: remove isdn4linux
>   isdn: hdlc: move into mISDN
>   isdn: move capi drivers to staging
> 
>  Documentation/isdn/HiSax.cert  |   96 -
>  Documentation/isdn/INTERFACE   |  759 
>  Documentation/isdn/INTERFACE.fax   |  163 -
>  Documentation/isdn/README  |  599 
>  Documentation/isdn/README.FAQ  |   26 -
>  Documentation/isdn/README.HiSax|  659 
>  Documentation/isdn/README.audio|  138 -
>  Documentation/isdn/README.concap   |  259 --
>  Documentation/isdn/README.diversion|  127 

Re: [PATCH] Re: Serial USB-driver for Winchiphead CH340/41 chip

2007-09-21 Thread Werner Cornelius
Am Freitag, 21. September 2007 18:18 schrieb Greg KH:

Hello,

> On Fri, Sep 21, 2007 at 10:15:11AM +0200, Werner Cornelius wrote:
> > Hello,
> >
> > attached you will find the patch against the 2.6.23-rc6-mm1
> >
> > Changed fetaures:
> >
> > 1. All baudrates possible (dynamic baudfactor calculation)
> > 2. Added support of modem control and status lines.
>
> You forgot:
>   3. broke all formatting

sorry about, but that wasn't an intend.
This action has been done by one or more of the apps I am using (editor, 
mailer...). I assume it is a feature of Kmail, inserting plane text seems to 
be converted to space separated text, discarding tabs.  

>
> :(
>
> Please redo the patch such that the formating of the file is not changed
> (you converted tabs to spaces).
>
> > --- linux-2.6.23-rc6-mm1/drivers/usb/serial/ch341.c 2007-09-21
> > 09:56:56.0 +0200
> > +++ develop/drivers/usb/serial/ch341.c  2007-09-21 10:00:26.0
> > +0200 @@ -1,5 +1,9 @@
> >  /*
> > - * Copyright 2007, Frank A Kingswood <[EMAIL PROTECTED]>
> > + * Copyright 2007, Frank A Kingswood 
> > kingswood-consulting.co.uk>
>
> Why did you change this email address?

This address was in the original file I got from the net. Perhaps this file 
have had spaces instead of tabs, too.

>
> > + *
> > + * Copyright 2007, Werner Cornelius  cornelius-consult.de>
> > + * for changes/extenions regarding universal baud rate capability and
> > modem + * line control/status routines.
>
> Don't put changelog information in a copyright notice, that's not
> needed.  Just put your name there please, with a "real" email address.

Ok. that should be ok. I am not used to the rules on the kernel traffic list.

>
> And we need a "Signed-off-by:" line.

I did add one on last request.
Was this wrong ?
Perhaps I need an Howto about mailing to kernel list. I read the main 
documentation, but didn't found this amount of request rules in a way that 
would be sufficient to publish a patch which I just wanted to make useable by 
the whole community.
I will try to verify how I could generate the patch in a way that it might be 
acceptable.

>
> thanks,
>
> greg k-h

Werner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] Re: Serial USB-driver for Winchiphead CH340/41 chip

2007-09-21 Thread Werner Cornelius
Hello,

attached you will find the patch against the 2.6.23-rc6-mm1

Changed fetaures:

1. All baudrates possible (dynamic baudfactor calculation)
2. Added support of modem control and status lines.

Still missing (due to lack of an usb sniffer):

1. Break control
2. Parity 

Werner

--- linux-2.6.23-rc6-mm1/drivers/usb/serial/ch341.c 2007-09-21 
09:56:56.0 +0200
+++ develop/drivers/usb/serial/ch341.c  2007-09-21 10:00:26.0 +0200
@@ -1,5 +1,9 @@
 /*
- * Copyright 2007, Frank A Kingswood <[EMAIL PROTECTED]>
+ * Copyright 2007, Frank A Kingswood  kingswood-consulting.co.uk>
+ *
+ * Copyright 2007, Werner Cornelius  cornelius-consult.de>
+ * for changes/extenions regarding universal baud rate capability and modem
+ * line control/status routines. 
  *
  * ch341.c implements a serial port driver for the Winchiphead CH341.
  *
@@ -21,327 +25,548 @@
 #include 
 #include 
 
-#define DEFAULT_BAUD_RATE 2400
+#define DEFAULT_BAUD_RATE 9600
 #define DEFAULT_TIMEOUT   1000
 
+/* flags for IO-Bits */
+#define CH341_BIT_RTS (1 << 6)
+#define CH341_BIT_DTR (1 << 5)
+
+/**/
+/* interrupt pipe definitions */
+/**/
+/* always 4 interrupt bytes */
+/* first irq byte normally 0x08 */
+/* second irq byte base 0x7d + below */
+/* third irq byte base 0x94 + below */
+/* fourth irq byte normally 0xee */
+
+/* second interrupt byte */
+#define CH341_MULT_STAT 0x04 /* multiple status since last interrupt event */
+
+/* status returned in third interrupt answer byte, inverted in data from irq 
*/
+#define CH341_BIT_CTS 0x01
+#define CH341_BIT_DSR 0x02
+#define CH341_BIT_RI  0x04
+#define CH341_BIT_DCD 0x08
+#define CH341_BITS_MODEM_STAT 0x0f /* all bits */
+
+/***/
+/* baudrate calculation factor */
+/***/
+#define CH341_BAUDBASE_FACTOR 1532620800
+#define CH341_BAUDBASE_DIVMAX 3
+
 static int debug;
 
 static struct usb_device_id id_table [] = {
-   { USB_DEVICE(0x4348, 0x5523) },
-   { },
+   { USB_DEVICE(0x4348, 0x5523) },
+   { },
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
 struct ch341_private {
-   unsigned baud_rate;
-   u8 dtr;
-   u8 rts;
+spinlock_t lock; /* access lock */
+wait_queue_head_t delta_msr_wait; /* wait queue for modem status */
+unsigned baud_rate; /* set baud rate */
+u8 line_control; /* set line control value RTS/DTR */
+u8 line_status; /* active status of modem control inputs */
+u8 multi_status_change; /* status changed multiple since last call */
 };
 
 static int ch341_control_out(struct usb_device *dev, u8 request,
-u16 value, u16 index)
+u16 value, u16 index)
 {
-   int r;
-   dbg("ch341_control_out(%02x,%02x,%04x,%04x)", USB_DIR_OUT|0x40,
-   (int)request, (int)value, (int)index);
+   int r;
+   dbg("ch341_control_out(%02x,%02x,%04x,%04x)", USB_DIR_OUT|0x40,
+   (int)request, (int)value, (int)index);
 
-   r = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), request,
-   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
-   value, index, NULL, 0, DEFAULT_TIMEOUT);
+   r = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), request,
+   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
+   value, index, NULL, 0, DEFAULT_TIMEOUT);
 
-   return r;
+   return r;
 }
 
 static int ch341_control_in(struct usb_device *dev,
-   u8 request, u16 value, u16 index,
-   char *buf, unsigned bufsize)
+   u8 request, u16 value, u16 index,
+   char *buf, unsigned bufsize)
 {
-   int r;
-   dbg("ch341_control_in(%02x,%02x,%04x,%04x,%p,%u)", USB_DIR_IN|0x40,
-   (int)request, (int)value, (int)index, buf, (int)bufsize);
-
-   r = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), request,
-   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
-   value, index, buf, bufsize, DEFAULT_TIMEOUT);
-   return r;
-}
-
-static int ch341_set_baudrate(struct usb_device *dev,
- struct ch341_private *priv)
-{
-   short a, b;
-   int r;
-
-   dbg("ch341_set_baudrate(%d)", priv->baud_rate);
-   switch (priv->baud_rate) {
-   case 2400:
-   a = 0xd901;
-   b = 0x0038;
-   break;
-   case 4800:
-   a = 0x6402;
-   b = 0x001f;
-   break;
-   case 9600:
-   a = 0xb202;
-   b = 0x0013;
-   break;
-   case 19200:
-   a = 0xd902;
-   b = 0x000d;
-   break;
-   case 38400:
-   a = 0x6403;
-   b = 0x000a;

[PATCH] Re: Serial USB-driver for Winchiphead CH340/41 chip

2007-09-21 Thread Werner Cornelius
Hello,

attached you will find the patch against the 2.6.23-rc6-mm1

Changed fetaures:

1. All baudrates possible (dynamic baudfactor calculation)
2. Added support of modem control and status lines.

Still missing (due to lack of an usb sniffer):

1. Break control
2. Parity 

Werner

--- linux-2.6.23-rc6-mm1/drivers/usb/serial/ch341.c 2007-09-21 
09:56:56.0 +0200
+++ develop/drivers/usb/serial/ch341.c  2007-09-21 10:00:26.0 +0200
@@ -1,5 +1,9 @@
 /*
- * Copyright 2007, Frank A Kingswood <[EMAIL PROTECTED]>
+ * Copyright 2007, Frank A Kingswood  kingswood-consulting.co.uk>
+ *
+ * Copyright 2007, Werner Cornelius  cornelius-consult.de>
+ * for changes/extenions regarding universal baud rate capability and modem
+ * line control/status routines. 
  *
  * ch341.c implements a serial port driver for the Winchiphead CH341.
  *
@@ -21,327 +25,548 @@
 #include 
 #include 
 
-#define DEFAULT_BAUD_RATE 2400
+#define DEFAULT_BAUD_RATE 9600
 #define DEFAULT_TIMEOUT   1000
 
+/* flags for IO-Bits */
+#define CH341_BIT_RTS (1 << 6)
+#define CH341_BIT_DTR (1 << 5)
+
+/**/
+/* interrupt pipe definitions */
+/**/
+/* always 4 interrupt bytes */
+/* first irq byte normally 0x08 */
+/* second irq byte base 0x7d + below */
+/* third irq byte base 0x94 + below */
+/* fourth irq byte normally 0xee */
+
+/* second interrupt byte */
+#define CH341_MULT_STAT 0x04 /* multiple status since last interrupt event */
+
+/* status returned in third interrupt answer byte, inverted in data from irq 
*/
+#define CH341_BIT_CTS 0x01
+#define CH341_BIT_DSR 0x02
+#define CH341_BIT_RI  0x04
+#define CH341_BIT_DCD 0x08
+#define CH341_BITS_MODEM_STAT 0x0f /* all bits */
+
+/***/
+/* baudrate calculation factor */
+/***/
+#define CH341_BAUDBASE_FACTOR 1532620800
+#define CH341_BAUDBASE_DIVMAX 3
+
 static int debug;
 
 static struct usb_device_id id_table [] = {
-   { USB_DEVICE(0x4348, 0x5523) },
-   { },
+   { USB_DEVICE(0x4348, 0x5523) },
+   { },
 };
 MODULE_DEVICE_TABLE(usb, id_table);
 
 struct ch341_private {
-   unsigned baud_rate;
-   u8 dtr;
-   u8 rts;
+spinlock_t lock; /* access lock */
+wait_queue_head_t delta_msr_wait; /* wait queue for modem status */
+unsigned baud_rate; /* set baud rate */
+u8 line_control; /* set line control value RTS/DTR */
+u8 line_status; /* active status of modem control inputs */
+u8 multi_status_change; /* status changed multiple since last call */
 };
 
 static int ch341_control_out(struct usb_device *dev, u8 request,
-u16 value, u16 index)
+u16 value, u16 index)
 {
-   int r;
-   dbg("ch341_control_out(%02x,%02x,%04x,%04x)", USB_DIR_OUT|0x40,
-   (int)request, (int)value, (int)index);
+   int r;
+   dbg("ch341_control_out(%02x,%02x,%04x,%04x)", USB_DIR_OUT|0x40,
+   (int)request, (int)value, (int)index);
 
-   r = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), request,
-   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
-   value, index, NULL, 0, DEFAULT_TIMEOUT);
+   r = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), request,
+   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_OUT,
+   value, index, NULL, 0, DEFAULT_TIMEOUT);
 
-   return r;
+   return r;
 }
 
 static int ch341_control_in(struct usb_device *dev,
-   u8 request, u16 value, u16 index,
-   char *buf, unsigned bufsize)
+   u8 request, u16 value, u16 index,
+   char *buf, unsigned bufsize)
 {
-   int r;
-   dbg("ch341_control_in(%02x,%02x,%04x,%04x,%p,%u)", USB_DIR_IN|0x40,
-   (int)request, (int)value, (int)index, buf, (int)bufsize);
-
-   r = usb_control_msg(dev, usb_rcvctrlpipe(dev, 0), request,
-   USB_TYPE_VENDOR | USB_RECIP_DEVICE | USB_DIR_IN,
-   value, index, buf, bufsize, DEFAULT_TIMEOUT);
-   return r;
-}
-
-static int ch341_set_baudrate(struct usb_device *dev,
- struct ch341_private *priv)
-{
-   short a, b;
-   int r;
-
-   dbg("ch341_set_baudrate(%d)", priv->baud_rate);
-   switch (priv->baud_rate) {
-   case 2400:
-   a = 0xd901;
-   b = 0x0038;
-   break;
-   case 4800:
-   a = 0x6402;
-   b = 0x001f;
-   break;
-   case 9600:
-   a = 0xb202;
-   b = 0x0013;
-   break;
-   case 19200:
-   a = 0xd902;
-   b = 0x000d;
-   break;
-   case 38400:
-   a = 0x6403;
-   b = 0x000a;

Serial USB-driver for Winchiphead CH340/41 chip

2007-09-14 Thread Werner Cornelius
Hello,

I know that there has been a patch for the Winchiphead CH340/41 USB to serial 
converter chips on the net, but they have been implemented with only a basic 
feature and limited baudrates due to the lack of any datasheets.

I picked these patches up and added all common baudrates as well as the 
complete modem control and status handling to be able of using this adapter 
in nearly all applications.

Features still missing:

- character length other than 8 bits
- parity settings
- break control

I don't have an USB sniffer, if someone may send me sniffer logs for various 
settings these features may be added to the driver of course.

I am not listening on this mailing list, so please address me directly if 
there are any questions or comments.

The patch is against the 2.6.22.5 kernel, but should work for newer kernels, 
too.

Werner 

--- linux-2.6.22.5/Documentation/usb/usb-serial.txt 2007-08-23 
01:23:54.0 +0200
+++ linux-2.6.22.5-cc/Documentation/usb/usb-serial.txt  2007-09-14 
14:13:28.0 +0200
@@ -428,6 +428,19 @@
   See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
   information on this driver.
 
+Winchiphead CH341 Driver
+
+  This driver is for the Winchiphead CH341 USB-RS232 Converter. This chip
+  also implements an IEEE 1284 parallel port, I2C and SPI, but that is not
+  supported by the driver. The protocol was analyzed from the behaviour
+  of the Windows driver, no datasheet is available at present.
+  The manufacturer's website: http://www.winchiphead.com/.
+  For any questions or problems with this driver, please contact
+  frank  kingswood-consulting.co.uk.
+  Extensions for universal baudrate settings and modem status/control has
+  been added by werner  cornelius-consult.de.
+
+
 Generic Serial driver
 
   If your device is not one of the above listed devices, compatible with
--- linux-2.6.22.5/drivers/usb/serial/Kconfig   2007-08-23 01:23:54.0 
+0200
+++ linux-2.6.22.5-cc/drivers/usb/serial/Kconfig2007-09-11 
11:53:58.0 
+0200
@@ -92,6 +92,17 @@
  To compile this driver as a module, choose M here: the
  module will be called belkin_sa.
 
+config USB_SERIAL_CH341
+   tristate "USB Winchiphead CH341 Single Port Serial Driver"
+   depends on USB_SERIAL
+   help
+ Say Y here if you want to use a Winchiphead CH341 single port
+ USB to serial adapter.
+
+ To compile this driver as a module, choose M here: the
+ module will be called ch341.
+
+
 config USB_SERIAL_WHITEHEAT
tristate "USB ConnectTech WhiteHEAT Serial Driver"
depends on USB_SERIAL
--- linux-2.6.22.5/drivers/usb/serial/Makefile  2007-08-23 01:23:54.0 
+0200
+++ linux-2.6.22.5-cc/drivers/usb/serial/Makefile   2007-09-11 
11:54:39.0 +0200
@@ -15,6 +15,7 @@
 obj-$(CONFIG_USB_SERIAL_AIRPRIME)  += airprime.o
 obj-$(CONFIG_USB_SERIAL_ARK3116)   += ark3116.o
 obj-$(CONFIG_USB_SERIAL_BELKIN)+= belkin_sa.o
+obj-$(CONFIG_USB_SERIAL_CH341)  += ch341.o
 obj-$(CONFIG_USB_SERIAL_CP2101)+= cp2101.o
 obj-$(CONFIG_USB_SERIAL_CYBERJACK) += cyberjack.o
 obj-$(CONFIG_USB_SERIAL_CYPRESS_M8)+= cypress_m8.o
--- linux-2.6.22.5/drivers/usb/serial/ch341.c   1970-01-01 01:00:00.0 
+0100
+++ linux-2.6.22.5-cc/drivers/usb/serial/ch341.c2007-09-14 
13:43:28.0 
+0200
@@ -0,0 +1,579 @@
+/*
+ * Copyright 2007, Frank A Kingswood  kingswood-consulting.co.uk>
+ *
+ * Copyright 2007, Werner Cornelius  cornelius-consult.de>
+ * for changes/extenions regarding universal baud rate capability and modem
+ * line control/status routines. 
+ *
+ * ch341.c implements a serial port driver for the Winchiphead CH341.
+ *
+ * The CH341 device can be used to implement an RS232 asynchronous
+ * serial port, an IEEE-1284 parallel printer port or a memory-like
+ * interface. In all cases the CH341 supports an I2C interface as well.
+ * This driver only supports the asynchronous serial interface.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License version
+ * 2 as published by the Free Software Foundation.
+ */
+
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+#include 
+
+#define DEFAULT_BAUD_RATE 9600
+#define DEFAULT_TIMEOUT   1000
+
+/* flags for IO-Bits */
+#define CH341_BIT_RTS (1 << 6)
+#define CH341_BIT_DTR (1 << 5)
+
+/**/
+/* interrupt pipe definitions */
+/**/
+/* always 4 interrupt bytes */
+/* first irq byte normally 0x08 */
+/* second irq byte base 0x7d + below */
+/* third irq byte base 0x94 + below */
+/* fourth irq byte normally 0xee */
+
+/* second interrupt byte */
+#define CH341_MULT_STAT 0x04 /* multiple status since last interrupt event */
+
+/* status returned in third 

Re: Fwd: ACPI & I4L irq confilct: bug reporting on kernel 2.4.0-test8-pre4

2000-09-07 Thread Werner Cornelius



Guido Trentalancia schrieb:
> 
> On Wed, 06 Sep 2000, you wrote:
> > Guido Trentalancia schrieb:
> >
> > Hello Guido,
> >
> > > >Hi !
> > > >This is a bug reporting, included are the output of various /proc file
> > > > on my system:
> > > >Motherboard: ASUS P2B-F with the latest bios bx2f113.awd (microcode
> > > > update) ISDN: Winbond based card (Hisax type=36)
> > > >Distribution: based on updated SuSE 6.4
> > > >
> > > >The problem is that if I compile the kernel (2.4.0-test8
> > > > pre1,pre2,pre3,pre4) with both ACPI support and ISDN support there is a
> > > > conflict in irq 9. I think ACPI first get irq 9 and then Hisax can't
> > > > get it. Consequentially Hisax doesn't work if ACPI support is enabled.
> > > >With ACPI turned off, everything works fine as with previous kernel
> > > > test6 and test5 and 
> > > >Many thanx.
> > >
> > > after further testing the problem seems to be in IRQ SHARING.
> > > in fact, with acpi disabled, once the hisax has got irq 9 (it is not
> > > possible for card type 36 to change the irq), i can load the ethernet
> > > modules 8390 and ne2k-pci for my ethernet PCI NE2000 card, but the
> > > ne2k-pci driver also set its irq=9, so everytime i try to do:
> > >
> > > ifconfig eth0 up
> > >
> > > i get:
> > >
> > > SIOCSIFFLAGS: resource temporarily unavailable
> > >
> > > why don't add the irq parameter to the hisax winbond driver and to the
> > > ne2k-pci driver ?
> >
> > there is no need or even sense to add such parameter, as irqs are
> > assigned by the bios or OS for PCI type cards. The driver is supplied
> > with the selected irq which is normally assigned during boot by the
> > systems bios.
> > You should change the bios PCI/Pnp setup to reflect your needs.
> > I don't know if the Winbond driver supports IRQ-sharing, but other i4l
> > drivers like the HFC-PCI which I maintain allow irq sharing without any
> > problems even if 3 cards share it.
> > So please setup your bios correctly and everything will work fine.
> >
> > > p.s.
> > > my motherboard has pci slot 4 and slot 5 condivided and the isdn card is
> > > on slot 4 while ethernet on slot 5 so one may say "change your
> > > motherboard", but everything worked fine with previous kernels (ACPI,
> > > Hisax, ethernet)
> > >
> > > Please help me.
> > > Many thanx.
> > > Please answer only via email: [EMAIL PROTECTED]
> > > --
> > > bye,
> > > Guido Trentalancia
> >
> > Werner
> 
> the problems seems to be in the winbond driver (driver/isdn/hisax/w6692.[ch])
> i tried to contact the author but the email address doen't exists anymore
> ([EMAIL PROTECTED]) could you help me ?

I will have a look at the driver.
Petrs Mail address should be [EMAIL PROTECTED]
Petr wrote the driver and handed them to the i4l crew. 
As far as I can recognize the driver doesn't set the shareable flag for
the interrupt.
I might change this and send it to you for a test. If it works we may
take it into CVS.
 

> ACPI and NE2000 seems to be ok...
> many thanx.
> --
> --
> bye,
> Guido Trentalancia
> please reply via email
> 

Werner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Fwd: ACPI & I4L irq confilct: bug reporting on kernel 2.4.0-test8-pre4

2000-09-06 Thread Werner Cornelius



Guido Trentalancia schrieb:

Hello Guido,

> 
> >Hi !
> >This is a bug reporting, included are the output of various /proc file on
> >my system:
> >Motherboard: ASUS P2B-F with the latest bios bx2f113.awd (microcode update)
> >ISDN: Winbond based card (Hisax type=36)
> >Distribution: based on updated SuSE 6.4
> 
> >The problem is that if I compile the kernel (2.4.0-test8 pre1,pre2,pre3,pre4)
> >with both ACPI support and ISDN support there is a conflict in irq 9.
> >I think ACPI first get irq 9 and then Hisax can't get it. Consequentially
> >Hisax doesn't work if ACPI support is enabled.
> >With ACPI turned off, everything works fine as with previous kernel test6
> >and test5 and 
> >Many thanx.
> 
> after further testing the problem seems to be in IRQ SHARING.
> in fact, with acpi disabled, once the hisax has got irq 9 (it is not possible
> for card type 36 to change the irq), i can load the ethernet modules
> 8390 and ne2k-pci for my ethernet PCI NE2000 card, but the ne2k-pci
> driver also set its irq=9, so everytime i try to do:
> 
> ifconfig eth0 up
> 
> i get:
> 
> SIOCSIFFLAGS: resource temporarily unavailable
> 
> why don't add the irq parameter to the hisax winbond driver and to the
> ne2k-pci driver ?


there is no need or even sense to add such parameter, as irqs are
assigned by the bios or OS for PCI type cards. The driver is supplied
with the selected irq which is normally assigned during boot by the
systems bios.
You should change the bios PCI/Pnp setup to reflect your needs.
I don't know if the Winbond driver supports IRQ-sharing, but other i4l
drivers like the HFC-PCI which I maintain allow irq sharing without any
problems even if 3 cards share it.
So please setup your bios correctly and everything will work fine.

> 
> p.s.
> my motherboard has pci slot 4 and slot 5 condivided and the isdn card is
> on slot 4 while ethernet on slot 5 so one may say "change your
> motherboard", but everything worked fine with previous kernels (ACPI, Hisax,
> ethernet)
> 
> Please help me.
> Many thanx.
> Please answer only via email: [EMAIL PROTECTED]
> --
> bye,
> Guido Trentalancia
> 

Werner
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/