Floppy drive problem.

My FreeBSD install at ad0s1, and Windows 2000 at ad2s1.
Everytime I start my FreeBSD, it shows me this message:
fdc0: cmd 3 failed at out byte 1 of 3
pmtimer 0 on isa0
fdc0: cannot reserve I/O port range (6 ports)

My Floppy drive info:
0x03F2 - 0x03F3
0x03F4 - 0x03F5
0x03F7 - 0x03F7
IRQ 6
channel 2

When I'm using FreeBSD 4.7, it can detect my fd0.

Thanks.

Hi,

It looks like the floopy is trying to use an IO port that is being used by another device... Can you please do a devinfo -r and paste the results here ?

nexus0
npx0
acpi0
Interrupt result lines:
9
acpi_timer0
I/O ports:
0x808-0x806
acpi_cpu0
I/0 ports:
0x810-0x815
acpi_button0
pcib0
pci0
agp0
I/O memory addresses:
0xe0000000-0xe7ffffff
pcib1
pci1
uhci0
Interrupt request lines:
11
I/O ports:
0xe400-oxe41f
usb0
uhub0
uhci1
Interrupt request lines:
5
I/O ports:
0xe800-0xe81f
usb1
uhub1
uhci2
I/O ports:
0xec00-0xec1f
usb2
uhub2
isab0
isa0
sc0
vga0
I/O ports:
0x3c0-0x3df
I/O memory addresses:
0x90000-0xbffff
pmtimer0
atapci0
I/O ports:
0xfc00-0xfc0f
ata0
Interrupt request lines:
14
I/O ports:
0x1f0-0x1f7
0x3f6
ata1
Interrupt request lines:
15
I/O ports:
0x170-0x177
0x376
acpi_sysresource0
I/O ports:
0x10-0x1f
0x22-0x3f
0x44-0x5f
0x62-0x63
0x65-0x6f
0x72-0x7f
0x80
0x84-0x86
0x88
0x8c-0x8e
0x90-0x9f
0xa2-0xbf
0xe0-0xef
0x3f0-0x3f1
0x400-0x40f
0x4d0-0x4d1
0x816-0x895
atpci0
atdma0
attimer0
attimer1
npxisa0
psmcpnp0
Interrupt request lines:
12
atkbdc0
I/O ports:
0x60
0x64
atkbd0
Interrupt request lines:
1
psm0
sia0
Interrupt request lines:
4
I/O ports:
0x2f8-0x2ff
ppc0
Interrupt request lines:
7
DMA request lines:
3
I/O ports:
0x378-0x37f
ppbus0
plip0
lpt0
ppi0
acpi_button1

Hi,

It looks like ACPI is using the addresses the floppy controller uses... If you do a dmesg after a reboot, what are the results ? Look for acpi. Try to disable ACPI and check if the floppy works.

Thanks for your help.

Here is what I found from dmesg:

acpi0: <AMI INT VIA_K7> on motherboard
acpi0: power button is handled as a fixed feature programming model.
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x806 on acpi0
acpi_cpu0: <CPU> on acpi0
acpi_button0: <Power Button> on acpi0
acpi_button1: <Sleep Button> on acpi0

I tried to disable the acpi, I use the command I found from "man acpi" then the monitor hang. Something likes acpi disable all...
Can you please tell me more detail how to disable acpi.

Thanks.

Hi,

There're many ways to disable ACPI, but let's just unload the ACPI module from the kernel... I guess that FreeBSD R5.1 let's you disable ACPI from the "boot menu", option 2 ( at least it was planned this way ), otherwise, you can disable ACPI after boot with loader ( write at the loader command prompt "unset acpi_load", or ( the best way to this case ), disable it at the /boot/loader.conf file, adding exec="unset acpi_load" .

Good luck !

Thanks, after I disable the acpi (actually just choose option 2 from the boot menu!), I got my floppy drive back. I also follow your instruction and change the load.conf. Is it okay just to leave it like this? Or still have to find a better solution to solve that acpi... port... problem?

Thanks. :smiley: