public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* modular floppy broken in 2.5.3
@ 2002-02-02  1:38 Alessandro Suardi
  2002-02-03 20:48 ` Alessandro Suardi
  0 siblings, 1 reply; 8+ messages in thread
From: Alessandro Suardi @ 2002-02-02  1:38 UTC (permalink / raw)
  To: linux-kernel

Trying to modprobe it yields

[root@dolphin root]# modprobe floppy
/lib/modules/2.5.3/kernel/drivers/block/floppy.o: init_module: Device or resource busy
Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
/lib/modules/2.5.3/kernel/drivers/block/floppy.o: insmod /lib/modules/2.5.3/kernel/drivers/block/floppy.o failed
/lib/modules/2.5.3/kernel/drivers/block/floppy.o: insmod floppy failed

 and dmesg says

inserting floppy driver for 2.5.3
Floppy drive(s): fd0 is 1.44M
floppy0: Floppy io-port 0x03f0 in use

I haven't been using floppy.o for some times so I can't tell
 when this broke. I'll give recent 2.5.x kernels a spin and
 report (if nobody provided other suggestions).

Thanks,
 
--alessandro

 "this machine will, will not communicate
   these thoughts and the strain I am under
  be a world child, form a circle before we all go under"
                         (Radiohead, "Street Spirit [fade out]")

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
  2002-02-02  1:38 modular floppy broken in 2.5.3 Alessandro Suardi
@ 2002-02-03 20:48 ` Alessandro Suardi
  2002-02-03 21:22   ` Alan Cox
  0 siblings, 1 reply; 8+ messages in thread
From: Alessandro Suardi @ 2002-02-03 20:48 UTC (permalink / raw)
  To: linux-kernel

Alessandro Suardi wrote:
> 
> Trying to modprobe it yields
> 
> [root@dolphin root]# modprobe floppy
> /lib/modules/2.5.3/kernel/drivers/block/floppy.o: init_module: Device or resource busy
> Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
> /lib/modules/2.5.3/kernel/drivers/block/floppy.o: insmod /lib/modules/2.5.3/kernel/drivers/block/floppy.o failed
> /lib/modules/2.5.3/kernel/drivers/block/floppy.o: insmod floppy failed
> 
>  and dmesg says
> 
> inserting floppy driver for 2.5.3
> Floppy drive(s): fd0 is 1.44M
> floppy0: Floppy io-port 0x03f0 in use
> 

A simple but nice hint by Pierre Rousselet suggested the I/O port
 is in use - I plain assumed it broke because I have been loading
 modular floppy for the last 36 months or so without specifying
 any parameters...

It turns out this is due to the new PnPBIOS kernel config option:

[asuardi@dolphin asuardi]$ grep PnPBIOS /proc/ioports 
03f0-03f1 : PnPBIOS PNP0c01
0600-067f : PnPBIOS PNP0c01
0680-06ff : PnPBIOS PNP0c01
  0800-083f : PnPBIOS PNP0c01
  0840-084f : PnPBIOS PNP0c01
0880-088f : PnPBIOS PNP0c01
f400-f4fe : PnPBIOS PNP0c01

But since modular floppy was working before without setting any
 ioport parameter I'm not entirely sure this is a "feature".


Thanks,

--alessandro

 "this machine will, will not communicate
   these thoughts and the strain I am under
  be a world child, form a circle before we all go under"
                         (Radiohead, "Street Spirit [fade out]")

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
  2002-02-03 20:48 ` Alessandro Suardi
@ 2002-02-03 21:22   ` Alan Cox
  2002-02-04 17:29     ` Gunther Mayer
  0 siblings, 1 reply; 8+ messages in thread
From: Alan Cox @ 2002-02-03 21:22 UTC (permalink / raw)
  To: Alessandro Suardi; +Cc: linux-kernel

> It turns out this is due to the new PnPBIOS kernel config option:
> 
> [asuardi@dolphin asuardi]$ grep PnPBIOS /proc/ioports 
> 03f0-03f1 : PnPBIOS PNP0c01
> 0600-067f : PnPBIOS PNP0c01
> 0680-06ff : PnPBIOS PNP0c01
>   0800-083f : PnPBIOS PNP0c01
>   0840-084f : PnPBIOS PNP0c01
> 0880-088f : PnPBIOS PNP0c01
> f400-f4fe : PnPBIOS PNP0c01
> 
> But since modular floppy was working before without setting any
>  ioport parameter I'm not entirely sure this is a "feature".

Its a mix of fp and pnpbios things that need untangling. PnPBIOS should
register the resource as not in use, floppy should allocate the right
things not blindly reserve the wrong sized chunks

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
  2002-02-03 21:22   ` Alan Cox
@ 2002-02-04 17:29     ` Gunther Mayer
  2002-02-04 23:58       ` Thomas Hood
  2002-02-05 10:13       ` Alessandro Suardi
  0 siblings, 2 replies; 8+ messages in thread
From: Gunther Mayer @ 2002-02-04 17:29 UTC (permalink / raw)
  Cc: Alessandro Suardi, linux-kernel, jdthood

Alan Cox wrote:

> > It turns out this is due to the new PnPBIOS kernel config option:
> >
> > [asuardi@dolphin asuardi]$ grep PnPBIOS /proc/ioports
> > 03f0-03f1 : PnPBIOS PNP0c01
> > 0600-067f : PnPBIOS PNP0c01
> > 0680-06ff : PnPBIOS PNP0c01
> >   0800-083f : PnPBIOS PNP0c01
> >   0840-084f : PnPBIOS PNP0c01
> > 0880-088f : PnPBIOS PNP0c01
> > f400-f4fe : PnPBIOS PNP0c01
> >
> > But since modular floppy was working before without setting any
> >  ioport parameter I'm not entirely sure this is a "feature".
>
> Its a mix of fp and pnpbios things that need untangling. PnPBIOS should
> register the resource as not in use, floppy should allocate the right

PNPNIOS is right to reserve PNP0C01 as "used". Else there will be hangs
when drivers poke in io space (e.g. laptops tend to have special
hardware which doesn't like to be touched).

PNPBIOS should not reserve 3f0/3f1 as a _workaround_ for this BIOS bug.

The BIOS probably wants to tell you there is a superio chip at 0x3f0
(try http://home.t-online.de/home/gunther.mayer/lssuperio-0.63.tar.gz).




^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
@ 2002-02-04 19:26 Thomas Hood
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Hood @ 2002-02-04 19:26 UTC (permalink / raw)
  To: linux-kernel

Gunther Mayer wrote:
> PNPNIOS is right to reserve PNP0C01 as
> "used". Else there will be hangs when
> drivers poke in io space (e.g. laptops
> tend to have special hardware which
> doesn't like to be touched).
> [...]
> The BIOS probably wants to tell you there
> is a superio chip at 0x3f0

The floppy controller commonly uses io ports
0x3f2-0x3f5 and 0x3f7.  0x3f0-0x3f1 were used
by the floppy controller on the PC AT (only).
The latter two ports are now frequently used
for superio chips or other motherboard
devices, as the BIOS will report.  PnPBIOS
is acting properly in reserving the ports.

Since the floppy driver does not use ioports
0x3f0-0x3f1 it should not reserve them.

The issue was previously discussed in this
thread:
http://marc.theaimsgroup.com/?l=linux-kernel&m=100516032204531&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=100495936122982&w=2
and the conclusion, I believe, was that the
floppy driver should be patched so as not to
reserve 0x3f0 and 0x3f1.  Someone even 
submitted a patch.

> PNPBIOS should not reserve 3f0/3f1
> as a _workaround_ for this BIOS bug.

The correct solution is to modify the floppy
driver.

Until that happens, use the "pnpbios=no-res"
option, which prevents pnpbios from reserving
any ioports.

--
Thomas Hood

-- 

_______________________________________________
Sign-up for your own FREE Personalized E-mail at Mail.com
http://www.mail.com/?sr=signup

Win a ski trip!
http://www.nowcode.com/register.asp?affiliate=1net2phone3a



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
  2002-02-04 17:29     ` Gunther Mayer
@ 2002-02-04 23:58       ` Thomas Hood
  2002-02-05 10:13       ` Alessandro Suardi
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Hood @ 2002-02-04 23:58 UTC (permalink / raw)
  To: Gunther Mayer; +Cc: Alessandro Suardi, linux-kernel

Alan Cox wrote:
> ... PnPBIOS should register the resource as not in use ..

I believe that this is what it currently does.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
  2002-02-04 17:29     ` Gunther Mayer
  2002-02-04 23:58       ` Thomas Hood
@ 2002-02-05 10:13       ` Alessandro Suardi
  1 sibling, 0 replies; 8+ messages in thread
From: Alessandro Suardi @ 2002-02-05 10:13 UTC (permalink / raw)
  To: Gunther Mayer; +Cc: linux-kernel, jdthood

Gunther Mayer wrote:
> 
> Alan Cox wrote:
> 
> > > It turns out this is due to the new PnPBIOS kernel config option:
> > >
> > > [asuardi@dolphin asuardi]$ grep PnPBIOS /proc/ioports
> > > 03f0-03f1 : PnPBIOS PNP0c01
> > > 0600-067f : PnPBIOS PNP0c01
> > > 0680-06ff : PnPBIOS PNP0c01
> > >   0800-083f : PnPBIOS PNP0c01
> > >   0840-084f : PnPBIOS PNP0c01
> > > 0880-088f : PnPBIOS PNP0c01
> > > f400-f4fe : PnPBIOS PNP0c01
> > >
> > > But since modular floppy was working before without setting any
> > >  ioport parameter I'm not entirely sure this is a "feature".
> >
> > Its a mix of fp and pnpbios things that need untangling. PnPBIOS should
> > register the resource as not in use, floppy should allocate the right
> 
> PNPNIOS is right to reserve PNP0C01 as "used". Else there will be hangs
> when drivers poke in io space (e.g. laptops tend to have special
> hardware which doesn't like to be touched).
> 
> PNPBIOS should not reserve 3f0/3f1 as a _workaround_ for this BIOS bug.
> 
> The BIOS probably wants to tell you there is a superio chip at 0x3f0
> (try http://home.t-online.de/home/gunther.mayer/lssuperio-0.63.tar.gz).

And here it goes...


lssuperio V0.63 (EXPERIMENTAL)

Winbond Super-IO detection, now testing ports 3F0,370,250,4E,2E ...
SMSC Super-IO detection, now testing Ports 2F0, 370, 2E, 4E ...
SMSC chip at EFER=0x3f0 key=0x55 id=09 rev=08
oldid=0x00 oldrev=0x00
 LDN 0(     FDC): io=0x3f0, irq= 6, dma= 1
 LDN 1(reserved): Disabled.
 LDN 2(reserved): Disabled.
 LDN 3(     LPT): io=0x378, irq= 7, dma=No
 LDN 4(  UART_A): io=0x3f8, irq= 4, dma=No
 LDN 5(  UART_B): io=0x3e8, io2=0x290, irq= 4, dma= 3
 LDN 6(reserved): io=0x0, irq= 8, dma=No
 LDN 7(     KBC): io=0x0, irq= 1, irq2=12, dma=No
 LDN 8(reserved): Disabled.
 LDN 9(Gameport): Disabled.
 LDN a(     PME): Disabled.
 LDN b( MPU-401): Disabled.
LPT mode=ECP FIFO thresh.=7
SMSC chip type 37n958
National Semiconductor Super-IO detection,now testing port 2E,4E,15C,26E,398 ...ITE Super-IO detection testing ports 2E,4E,279,370/371 ...
ALI Super-IO detection testing ports 370,398,3F0 ...
Intel Super-IO detection testing ports 26E, 398 ...

--alessandro

 "this machine will, will not communicate
   these thoughts and the strain I am under
  be a world child, form a circle before we all go under"
                         (Radiohead, "Street Spirit [fade out]")

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: modular floppy broken in 2.5.3
@ 2002-02-07  1:30 Thomas Hood
  0 siblings, 0 replies; 8+ messages in thread
From: Thomas Hood @ 2002-02-07  1:30 UTC (permalink / raw)
  To: linux-kernel; +Cc: Gunther Mayer, Alessandro Suardi

The latest version of the PnP BIOS driver, available at:
   http://panopticon.csustan.edu/thood/pnpbios.html
refrains from reserving ioports 0x3f0 and 0x3f1.  This
is a temporary fix for the floppy problem.  I hope
someone will fix the floppy driver soon so that this
change can be reverted.

Note that at earlier version of the driver was included
in 2.4.18-pre7-ac2 and an even earlier version was
included in 2.5.3.  If you are using either of these
kernels and you don't want to update the pnpbios driver
then boot with "pnpbios=no-res".

--
Thomas


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2002-02-07  1:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-02-02  1:38 modular floppy broken in 2.5.3 Alessandro Suardi
2002-02-03 20:48 ` Alessandro Suardi
2002-02-03 21:22   ` Alan Cox
2002-02-04 17:29     ` Gunther Mayer
2002-02-04 23:58       ` Thomas Hood
2002-02-05 10:13       ` Alessandro Suardi
  -- strict thread matches above, loose matches on Subject: below --
2002-02-04 19:26 Thomas Hood
2002-02-07  1:30 Thomas Hood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox