smsc-ircc2: Add PnP support.
Subsystems (2)
Hi,
I had also done a pnp patch for the smsc-ircc2 and irport 3 months ago.
Unfortunaly I don't remember where I put the patches, certainly on the laptop that it is in my parent home.
Quoted 8 lines · Jean Tourrilhes
Quoted 7 lines
Quoted 2 lines · Ville
Add PnP support to smsc-ircc2 driver.
Briefly tested with irdadump on a Dell Inpsiron 7000.OnThanks for the patch. I slightly moved you code around, you'll find my version of your patch on my web page.
Quoted 14 lines
Quoted 5 lines
OnNow, a few comments...
On1) I don't have any SmSC chipset around, so I can't do any testing. I would appreciate other people to test your patch. Also, make sure I did not introduce mistakes in my version of the patch.
Your version works fine (irdadump works).
Quoted 5 lines
On2) I tried to apply the same code to NSC. It did not manage to read the ressource properly, and therefore the PnP code disabled the hardware, and I was no longer able to get it running (short of a reboot of the computer). The nsc-ircc has only one i/o region (dumb nsc).
try to do an "echo auto > /sys/bus/pnp/device_number/resources"
It will reenable the device.
Quoted 6 lines
I have a machine with nsc-ircc here so I think I'll try that too.
Quoted 4 lines
OnThe issue there is that if a smsc chipset has a valid PnP ID but somehow the
pnp_probefails to set it up, then the regular probe won't be able to configure it. This makes me nervous.
Yes that's the problem this pnp, if the probe failed it disable the device resource.
When I do my patch I encounter the problem : I called pnp driver after smsc_ircc_look_for_chips, so all the resources where already reserved, and the pnp probe failed and it disable the resource, and the device found with the traditional smsc_ircc_look_for_chips doesn't work.
So in my patch if I register pnp devices, I don't run smsc_ircc_look_for_chips like it is done for (ircc_fir>0)&&(ircc_sir>0) case.
Quoted 3 lines
Quoted 3 lines
On3) If the ressources are markes as disabled, you just quit with an error. Compouded with (2), this makes me doubly nervous. Wouldn't it be possible to forcefully enable those ressources ?
pnp should call automatiquely pnp_activate_dev() before probing the driver, so the resource should be activated. Have you got an example where the resource wheren't activated ?
Quoted 10 lines
Quoted 3 lines
OnThe idea there is that more and more IrDA devices are comming disabled in BIOS with no BIOS entry to enable them. Enabling those ressources would fix that and possible make smc-init redundant (I wish).
pnp_activate_dev()should probably be used to enable the device but it was only used by ISAPNP drivers so I didn't use it in this patch.I must admit that I really don't know much about the PNP subsystem. I used the
parport_pcdriver as a guide. I've CC'd Adam Belay and linux-kernel in the hopes that someone can help with this stuff.
Quoted 5 lines · matthieu castet
Hi,
I had also done a pnp patch for the smsc-ircc2 and irport 3 months ago. Unfortunaly I don't remember where I put the patches, certainly on the laptop that it is in my parent home.
I've never seen you patches on the irda mailing list...
Quoted 3 lines
try to do an "echo auto >
/sys/bus/pnp/device_number/resources"It will reenable the device.
Thanks for the tip.
Quoted 13 lines
Quoted 6 lines
I have a machine with nsc-ircc here so I think I'll try that too.
Quoted 4 lines
OnThe issue there is that if a smsc chipset has a valid PnP ID but somehow the
pnp_probefails to set it up, then the regular probe won't be able to configure it. This makes me nervous.Yes that's the problem this pnp, if the probe failed it disable the device resource.
When I do my patch I encounter the problem : I called pnp driver aftersmsc_ircc_look_for_chips, so all the resources where already reserved, and the pnp probe failed and it disable the resource, and the device found with the traditionalsmsc_ircc_look_for_chipsdoesn't work.
Quoted 3 lines
So in my patch if I register pnp devices, I don't run
smsc_ircc_look_for_chipslike it is done for (ircc_fir>0)&&(ircc_sir>0) case.
smsc_ircc_look_for_chips won't re-register the devices
configured via PnP, as smsc_ircc_present won't be able to request the region. So, I don't see the problem. And you could imagine having multiple SMSC in the box, some PnP, some not.
Note that we could put the region check earlier, but I like
the fact that the driver is still able to probe completely the chip even if the serial driver has grabbed the regions. Maybe we could split the difference and request the FIR region early on (so to fail on SMC devices already registered) and request the other ressources late (so as to completely probe even when serial is loaded).
Quoted 7 lines
Quoted 3 lines
Quoted 3 lines
On3) If the ressources are markes as disabled, you just quit with an error. Compouded with (2), this makes me doubly nervous. Wouldn't it be possible to forcefully enable those
ressources ?
pnp should call automatiquelypnp_activate_dev()before probing the driver, so the resource should be activated. Have you got an example where the resource wheren't activated ?
No, it was more that I don't understand what PnP does for
us. I don't have a SMS chipset to test on. Also, I would like to know if it remove the need of smcinit.
Thanks, have fun...
Jean
Quoted 11 lines · Jean Tourrilhes
Quoted 4 lines · matthieu castet
Hi,
I had also done a pnp patch for the smsc-ircc2 and irport 3 months ago.
Unfortunaly I don't remember where I put the patches, certainly on the laptop that it is in my parent home.I've never seen you patches on the irda mailing list...
When I wanted to send them, I didn't find them, and after that I forgot them...
if you are still interested for the irport, I could try to ask someone to send it to me.
Quoted 11 lines
Quoted 11 lines
Quoted 7 lines
I have a machine with nsc-ircc here so I think I'll try that too.
Quoted 4 lines
OnThe issue there is that if a smsc chipset has a valid PnP ID but somehow the
pnp_probefails to set it up, then the regular probe won't be able to configure it. This makes me nervous.Yes that's the problem this pnp, if the probe failed it disable the device resource.
When I do my patch I encounter the problem : I called pnp driver aftersmsc_ircc_look_for_chips, so all the resources where already reserved, and the pnp probe failed and it disable the resource, and the device found with the traditionalsmsc_ircc_look_for_chipsdoesn't work.
Quoted 7 lines
Quoted 1 line
So in my patch if I register pnp devices, I don't run
smsc_ircc_look_for_chipslike it is done for (ircc_fir>0)&&(ircc_sir>0) case.
smsc_ircc_look_for_chipswon't re-register the devices
configured via PnP, assmsc_ircc_presentwon't be able to request the region. So, I don't see the problem. And you could imagine having multiple SMSC in the box, some PnP, some not.
Yes, it was just because it produce some warning message.
Quoted 12 lines
Note that we could put the region check earlier, but I like
the fact that the driver is still able to probe completely the chip even if the serial driver has grabbed the regions. Maybe we could split the difference and request the FIR region early on (so to fail on SMC devices already registered) and request the other ressources late (so as to completely probe even when serial is loaded).Quoted 4 lines
Quoted 3 lines
Quoted 3 lines
On3) If the ressources are markes as disabled, you just quit with an error. Compouded with (2), this makes me doubly nervous. Wouldn't it be possible to forcefully enable those
Quoted 8 lines
Quoted 2 lines
ressources ?
pnp should call automatiquelypnp_activate_dev()before probing the driver, so the resource should be activated. Have you got an example where the resource wheren't activated ?No, it was more that I don't understand what PnP does for
us. I don't have a SMS chipset to test on. Also, I would like to know if it remove the need of smcinit.
PnP is easy to understand ;)
When you probe a device, it will activate a device with the best configuration available.
When removing a device it will disable the resource of the device.
A driver could play a little with the resources configuration : try another configuration, but it is not really need.
Also PnP can provide several id for a device : for example for my smsc device, I have SMCf010 and PNP0510 or PNP0511. So in this case we should load the smsc driver first, otherwise for example a pnp version of irport could register the device and it is not available for smsc (PnP will see that there is a driver attached, and not give it to the smsc probe).
Quoted 5 lines
Thanks, have fun...
Jean
Matthieu
Quoted 12 lines · matthieu castet
Quoted 11 lines · Jean Tourrilhes
Quoted 8 lines · matthieu castet
Quoted 3 lines
Quoted 3 lines
On3) If the ressources are markes as disabled, you just quit with an error. Compouded with (2), this makes me doubly nervous. Wouldn't it be possible to forcefully enable those
ressources ?
pnp should call automatiquelypnp_activate_dev()before probing the driver, so the resource should be activated. Have you got an example where the resource wheren't activated ?
Quoted 7 lines
Quoted 4 lines
No, it was more that I don't understand what PnP does for
us. I don't have a SMS chipset to test on. Also, I would like to know if it remove the need of smcinit.PnP is easy to understand ;)
When you probe a device, it will activate a device with the best configuration available.
So can we just remove the IORESOURCE_DISABLED tests?
And what about the pnp_*_valid() tests?
parport_pc (which I used as a guide) does both tests but 8250_pnp doesn't do either.
Signature · 3 lines
Ville Syrjälä [email protected] http://www.sci.fi/~syrjala/
Quoted 21 lines · Ville Syrjälä
Quoted 12 lines · matthieu castet
Quoted 11 lines · Jean Tourrilhes
Quoted 8 lines · matthieu castet
Quoted 3 lines
Quoted 3 lines
On3) If the ressources are markes as disabled, you just quit with an error. Compouded with (2), this makes me doubly nervous. Wouldn't it be possible to forcefully enable those
ressources ?
pnp should call automatiquelypnp_activate_dev()before probing the driver, so the resource should be activated. Have you got an example where the resource wheren't activated ?Quoted 7 lines
Quoted 4 lines
No, it was more that I don't understand what PnP does for
us. I don't have a SMS chipset to test on. Also, I would like to know if it remove the need of smcinit.PnP is easy to understand ;)
When you probe a device, it will activate a device with the best configuration available.
Quoted 6 lines
So can we just remove the
IORESOURCE_DISABLEDtests?And what about the pnp_*_valid() tests?
parport_pc(which I used as a guide) does both tests but 8250_pnp doesn't do either.
Parport_pc uses them because resources could potentially be disabled, but the parport could still be functional. Therefore, it must check. It is probably ok to not check on most hardware. Nonetheless, it's best to play it safe, and always verify the resource configuration.
Thanks,
Adam
mc> try to do an "echo auto > /sys/bus/pnp/device_number/resources" mc>
mc> It will reenable the device.
I tried this on my Toshiba Satellite 1800-314 and the device gets IO resources but is still disabled. echo activate > ... will enable it but the smc-ircc2 driver still finds that the device is disabled (in 2.6.10-rc2+yesterdays BK):
nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/options Dependent: 01 - Priority acceptable port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 02 - Priority acceptable port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding Dependent: 03 - Priority acceptable port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 04 - Priority acceptable port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = disabled nartsiss:~# echo auto > /sys/bus/pnp/devices/00\:0a/resources nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = disabled io 0x2e8-0x2ef nartsiss:~# echo activate > /sys/bus/pnp/devices/00\:0a/resources nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = active io 0x2e8-0x2ef nartsiss:~# modprobe smsc-ircc2 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:~# dmesg|tail -5 pnp: Device 00:0a activated. NET: Registered protocol family 23 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x2e8, dma: 15, irq: 0, mode: 0x02
Looks like there is also a enable/disable bit in the actual LPC device, or maybe it needs also a fir address and/or irq?
Signature · 1 line
Meelis Roos
Quoted 8 lines · Meelis Roos
mc> try to do an "echo auto >
/sys/bus/pnp/device_number/resources" mc> mc> It will reenable the device.I tried this on my Toshiba Satellite 1800-314 and the device gets IO resources but is still disabled. echo activate > ... will enable it but the smc-ircc2 driver still finds that the device is disabled (in 2.6.10-rc2+yesterdays BK):
Quoted 9 lines
nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/options Dependent: 01 - Priority acceptable port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 02 - Priority acceptable port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding Dependent: 03 - Priority acceptable port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 04 - Priority acceptable port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
that's very strange : you must have 2 io entries, 1 dma entry and an irq entry. Could you try pnpacpi from mm series ?
Any warning from pnpbios at startup ?
A laptop of the friend have wrong pnpbios entries...
Also make sure you don't force in your bios the device to be a sir device.
Quoted 6 lines
nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = disabled nartsiss:~# echo auto > /sys/bus/pnp/devices/00\:0a/resources nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = disabled io 0x2e8-0x2ef
activate is not important : here pnp had found the io resources
Quoted 4 lines
nartsiss:~# echo activate > /sys/bus/pnp/devices/00\:0a/resources nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/resources state = active io 0x2e8-0x2ef
^^^^^^^^^^^^^^^^
Quoted 14 lines
nartsiss:~# modprobe smsc-ircc2 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:~# dmesg|tail -5 pnp: Device 00:0a activated. NET: Registered protocol family 23 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x2e8, dma: 15, irq: 0, mode: 0x02Looks like there is also a enable/disable bit in the actual LPC device, or maybe it needs also a fir address and/or irq?
Quoted 20 lines · matthieu castet
Quoted 8 lines · Meelis Roos
mc> try to do an "echo auto >
/sys/bus/pnp/device_number/resources" mc> mc> It will reenable the device.I tried this on my Toshiba Satellite 1800-314 and the device gets IO resources but is still disabled. echo activate > ... will enable it but the smc-ircc2 driver still finds that the device is disabled (in 2.6.10-rc2+yesterdays BK):
Quoted 9 lines
nartsiss:~# cat /sys/bus/pnp/devices/00\:0a/options Dependent: 01 - Priority acceptable port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 02 - Priority acceptable port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding Dependent: 03 - Priority acceptable port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding Dependent: 04 - Priority acceptable port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
Quoted 2 lines
that's very strange : you must have 2 io entries, 1 dma entry and an irq entry. Could you try pnpacpi from mm series ?
no need : it is in rc2.
So do you use pnpacpi ?
If so, could you send your dsdt and try with pnpbios?
Matthieu
Quoted 5 lines
Quoted 2 lines
that's very strange : you must have 2 io entries, 1 dma entry and an irq entry. Could you try pnpacpi from mm series ?
no need : it is in rc2.
So do you use pnpacpi ?
If so, could you send your dsdt and try with pnpbios?
# CONFIG_ISAPNP is not setCONFIG_PNPBIOS=yCONFIG_PNPBIOS_PROC_FS=yCONFIG_PNPACPI=y
dmesg tells
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 13 devices
PnPBIOS: Disabled by ACPI
Will try disabling pnpacpi today.
How do I extract DSDT?
Signature · 1 line
Meelis Roos ([email protected]) http://www.cs.ut.ee/~mroos/
Quoted 2 lines
So do you use pnpacpi ?
If so, could you send your dsdt and try with pnpbios?
DSDT is here: http://www.cs.ut.ee/~mroos/toshsat1800_dsdt.img
Signature · 1 line
Meelis Roos ([email protected])
Quoted 6 lines · Meelis Roos
Quoted 2 lines
So do you use pnpacpi ?
If so, could you send your dsdt and try with pnpbios?DSDT is here: http://www.cs.ut.ee/~mroos/toshsat1800_dsdt.img
hum, your bios seem to build dynamically the resources (need an acpi expert for confirmation)
Could you send me the result of : "for i in /sys/bus/pnp/devices/*; do cat $i/id $i/options; done" in order to see if other devices have missing resources ?
Quoted 1 line
Could you send me the result of : "for i in
/sys/bus/pnp/devices/*; do cat $i/id $i/options; done" in order to see if other devices have missing resources ?
PNP0c01
PNP0200
PNP0800
PNP0c04
PNP0303
PNP0f13
PNP0b00
PNP0c02
PNP0700
port 0x3f0-0x3f0, align 0x0, size 0x6, 16-bit address decoding port 0x3f7-0x3f7, align 0x0, size 0x1, 16-bit address decoding irq 6 High-Edge
dma 2 8-bit compatible
PNP0501
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
SMCf010
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
PNP0401
Dependent: 01 - Priority acceptable
port 0x378-0x378, align 0x0, size 0x3, 16-bit address decoding port 0x778-0x778, align 0x0, size 0x3, 16-bit address decoding irq 7 High-Edge
Dependent: 02 - Priority acceptable
port 0x278-0x278, align 0x0, size 0x3, 16-bit address decoding port 0x678-0x678, align 0x0, size 0x3, 16-bit address decoding irq 5 High-Edge
Dependent: 03 - Priority acceptable
port 0x3bc-0x3bc, align 0x0, size 0x3, 16-bit address decoding port 0x7bc-0x7bc, align 0x0, size 0x3, 16-bit address decoding irq 7 High-Edge
TOS6200
Signature · 1 line
Meelis Roos ([email protected])
Quoted 16 lines · Meelis Roos
Quoted 1 line
Could you send me the result of : "for i in
/sys/bus/pnp/devices/*; do cat $i/id $i/options; done" in order to see if other devices have missing resources ?PNP0c01
PNP0200
PNP0800
PNP0c04
PNP0303
PNP0f13
PNP0b00
PNP0c02
PNP0700
port 0x3f0-0x3f0, align0x0, size0x6, 16-bit address decoding port 0x3f7-0x3f7, align0x0, size0x1, 16-bit address decoding irq 6 High-Edge
dma 2 8-bit compatible
floppy : seem ok
Quoted 9 lines
PNP0501
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align0x0, size0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2f8-0x2f8, align0x0, size0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2e8-0x2e8, align0x0, size0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align0x0, size0x8, 16-bit address decoding
serial miss irq
Quoted 9 lines
SMCf010
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align0x0, size0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2e8-0x2e8, align0x0, size0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2f8-0x2f8, align0x0, size0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align0x0, size0x8, 16-bit address decoding
irda : miss io,irq,dma
Quoted 5 lines
PNP0401
Dependent: 01 - Priority acceptable
port 0x378-0x378, align0x0, size0x3, 16-bit address decoding port 0x778-0x778, align0x0, size0x3, 16-bit address decoding irq 7 High-Edge
Quoted 8 lines
Dependent: 02 - Priority acceptable
port 0x278-0x278, align0x0, size0x3, 16-bit address decoding port 0x678-0x678, align0x0, size0x3, 16-bit address decoding irq 5 High-Edge
Dependent: 03 - Priority acceptable
port 0x3bc-0x3bc, align0x0, size0x3, 16-bit address decoding port 0x7bc-0x7bc, align0x0, size0x3, 16-bit address decoding irq 7 High-Edge
parallel port: miss dma
Quoted 2 lines
TOS6200
Could it be an acpi parsing problem ?
Is there a easy way to use ACPI_DUMP_RESOURCE_LIST in order to find all the resource find by acpi in order to see if it is an acpi problem or a pnpacpi problem ?
Matthieu
PS : I CC the message to acpi people : look http://marc.theaimsgroup.com/?t=110075024500002&r=1&w=2 for the begining.
-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
I tried it with pnpbios (acpi=off) and it started to work after auto and activate (but not with auto alone):
nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:/# echo activate > resources pnp: Device 00:0f activated. nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): fir: 0x2e8, sir: 0x100, dma: 03, irq: 5, mode: 0x0e SMsC IrDA Controller found IrCC version 2.0, firport 0x2e8, sirport 0x100 dma=3, irq=5 No transceiver found. Defaulting to Fast pin select IrDA: Registered device irda0
Quoted 1 line
Quoted 1 line
Quoted 1 line
Could you send me the result of : "for i in
/sys/bus/pnp/devices/*; do cat $i/id $i/options; done" in order to see if other devices have missing resources ?
The output with pnpbios is below for comparision.
Quoted 47 lines
Quoted 5 lines
PNP0c01
PNP0200
PNP0800
PNP0c04
PNP0303Quoted 8 lines
PNP0f13
PNP0b00
PNP0c02
PNP0700
port 0x3f0-0x3f0, align0x0, size0x6, 16-bit address decoding port 0x3f7-0x3f7, align0x0, size0x1, 16-bit address decoding irq 6 High-Edge
dma 2 8-bit compatiblefloppy : seem ok
Quoted 9 lines
PNP0501
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align0x0, size0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2f8-0x2f8, align0x0, size0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2e8-0x2e8, align0x0, size0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align0x0, size0x8, 16-bit address decodingserial miss irq
Quoted 9 lines
SMCf010
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align0x0, size0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2e8-0x2e8, align0x0, size0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2f8-0x2f8, align0x0, size0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align0x0, size0x8, 16-bit address decodingirda : miss io,irq,dma
Quoted 5 lines
PNP0401
Dependent: 01 - Priority acceptable
port 0x378-0x378, align0x0, size0x3, 16-bit address decoding port 0x778-0x778, align0x0, size0x3, 16-bit address decoding irq 7 High-EdgeQuoted 8 lines
Dependent: 02 - Priority acceptable
port 0x278-0x278, align0x0, size0x3, 16-bit address decoding port 0x678-0x678, align0x0, size0x3, 16-bit address decoding irq 5 High-Edge
Dependent: 03 - Priority acceptable
port 0x3bc-0x3bc, align0x0, size0x3, 16-bit address decoding port 0x7bc-0x7bc, align0x0, size0x3, 16-bit address decoding irq 7 High-Edge
Quoted 3 lines
parallel port: miss dma
Quoted 2 lines
TOS6200
PNP0c01
PNP0200
PNP0000
PNP0100
PNP0800
PNP0c04
PNP0303
PNP0f13
irq 12 High-Edge
PNP0b00
PNP0c02
PNP0700
port 0x3f0-0x3f0, align 0x0, size 0x6, 16-bit address decoding port 0x3f7-0x3f7, align 0x0, size 0x1, 16-bit address decoding irq 6 High-Edge
dma 2 8-bit byte-count compatible
PNP0501
irq 3,4,5,7,10,11 High-Edge
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
SMCf010
PNP0510
port 0x100-0x130, align 0xf, size 0x8, 16-bit address decoding irq 3,4,5,7,10,11 High-Edge
dma 1,2,3 16-bit byte-count compatible
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
PNP0401
dma 1,2,3 8-bit byte-count compatible
Dependent: 01 - Priority acceptable
port 0x378-0x378, align 0x0, size 0x3, 16-bit address decoding port 0x778-0x778, align 0x0, size 0x3, 16-bit address decoding irq 7 High-Edge
Dependent: 02 - Priority acceptable
port 0x278-0x278, align 0x0, size 0x3, 16-bit address decoding port 0x678-0x678, align 0x0, size 0x3, 16-bit address decoding irq 5 High-Edge
Dependent: 03 - Priority acceptable
port 0x3bc-0x3bc, align 0x0, size 0x3, 16-bit address decoding port 0x7bc-0x7bc, align 0x0, size 0x3, 16-bit address decoding irq 7 High-Edge
PNP0a03
PNP0e03
PNP0e00
Dependent: 01 - Priority acceptable
port 0x3e0-0x3e0, align 0x0, size 0x2, 16-bit address decoding irq <none> High-Edge
Dependent: 02 - Priority acceptable
port 0x3e0-0x3e0, align 0x0, size 0x2, 16-bit address decoding irq 3,4,5,7,10,11 High-Edge
Signature · 8 lines
Meelis Roos ([email protected]) ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
Quoted 18 lines · Meelis Roos
I tried it with pnpbios (acpi=off) and it started to work after auto and activate (but not with auto alone):
nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:/# echo activate > resources pnp: Device 00:0f activated. nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): fir: 0x2e8, sir: 0x100, dma: 03, irq: 5, mode: 0x0e SMsC IrDA Controller found IrCC version 2.0, firport 0x2e8, sirport 0x100 dma=3, irq=5 No transceiver found. Defaulting to Fast pin select IrDA: Registered device irda0
Quoted 5 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Could you send me the result of : "for i in
/sys/bus/pnp/devices/*; do cat $i/id $i/options; done" in order to see if other devices have missing resources ?The output with pnpbios is below for comparision.
[..]
Ok, I have catch the problem : the pnpacpi parser supposed that are no resource after EndDependentFn.
Could you try this patch with pnpacpi?
drivers/pnp/pnpacpi/rsparser.c renamed from drivers/pnp/pnpacpi/rsparser.c.old +11 -1
@@ -443,6 +443,7 @@struct acpipnp_parse_option_s {struct pnp_option *option; +struct pnp_option *independent_option;struct pnp_dev *dev; };
@@ -506,7 +507,15 @@ parse_data->option = option;break ;case ACPI_RSTYPE_END_DPF : -return AE_CTRL_TERMINATE ; +//return AE_CTRL_TERMINATE; +//only one EndDependentFn is allowed +if (!parse_data->independent_option) { +pnp_warn ("PnPACPI: more than one EndDependentFn" ); +return AE_ERROR ; + } + parse_data->option = parse_data->independent_option; + parse_data->independent_option =NULL ; +break ;default :pnp_warn ("PnPACPI:Option type: %d not handle" , res->id);return AE_ERROR ;
@@ -524,6 +533,7 @@ parse_data.option =pnp_register_independent_option (dev);if (!parse_data.option)return AE_ERROR ; + parse_data.independent_option = parse_data.option; parse_data.dev = dev; status =acpi_walk_resources (handle,METHOD_NAME__PRS , pnpacpi_option_resource, &parse_data);
Quoted 3 lines
Ok, I have catch the problem : the pnpacpi parser supposed that are no resource after EndDependentFn.
Could you try this patch with pnpacpi?
Yes, it gives full options (and resources after "auto"). But smsc-ircc2 still does not load even after "activate" with pnpacpi. It loads with pnpbios after auto and activate.
Signature · 1 line
Meelis Roos ([email protected])
Quoted 7 lines · Meelis Roos
Quoted 3 lines
Ok, I have catch the problem : the pnpacpi parser supposed that are no resource after EndDependentFn.
Could you try this patch with pnpacpi?
Yes, it gives full options (and resources after "auto"). But smsc-ircc2 still does not load even after "activate" with pnpacpi. It loads with pnpbios after auto and activate.
thanks
Could I have the log from smsc-ircc2 when it failed with pnpacpi ?
regards
Matthieu
Quoted 1 line
Could I have the log from smsc-ircc2 when it failed with pnpacpi ?
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02
Signature · 1 line
Meelis Roos ([email protected])
Quoted 7 lines · Meelis Roos
Quoted 1 line
Could I have the log from smsc-ircc2 when it failed with pnpacpi ?
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02
Thanks, it seem that pnpacpi_set_resources have a problem. I hope Shaohua Li (who write it) could ckeck it.
regards
Matthieu
Quoted 7 lines · Meelis Roos
Quoted 1 line
Could I have the log from smsc-ircc2 when it failed with pnpacpi ?
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02
just for curiosity, when you have time, could try pnpacpi and jean PNP smsc patch?
It sould find the correct resources because there are provided by PnP layer, but if the resources are not well allocated by PnPacpi, the device shouldn't work.
thanks
Matthieu
Quoted 8 lines · matthieu castet
Quoted 7 lines · Meelis Roos
Quoted 1 line
Could I have the log from smsc-ircc2 when it failed with pnpacpi ?
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02
Quoted 6 lines
just for curiosity, when you have time, could try pnpacpi and jean PNP smsc patch?
It sould find the correct resources because there are provided by PnP layer, but if the resources are not well allocated by PnPacpi, the device shouldn't work.
Could you please attach the output of 'cat 00:0a/resources' (0a is the device, right?). ACPI spec said set resource should be according to the output of current resource. That is we should build a template according to current resource (_CRS). If _CRS doesn't return a correct resource templete, set resource will fail.
Adam, I think a boot option (such as pnpacpi=off) is required. Users possibly want to use pnpbios or BIOS is buggy.
Thanks,
Shaohua
Quoted 2 lines
Adam, I think a boot option (such as pnpacpi=off) is required. Users possibly want to use pnpbios or BIOS is buggy.
Yes, agreed. Right now just using ACPI turns pnpbios off, it probably should be using pnpacpi that turns pnpbios off. And turning pnpacpi off should be made possible.
Signature · 1 line
Meelis Roos ([email protected]) http://www.cs.ut.ee/~mroos/
Quoted 2 lines
Adam, I think a boot option (such as pnpacpi=off) is required. Users possibly want to use pnpbios or BIOS is buggy.
Additionally, I see more pnp devices with pnpbios (16) than with pnpbios (13). Is this normal?
Signature · 1 line
Meelis Roos ([email protected])
Quoted 5 lines
Could you please attach the output of 'cat 00:0a/resources' (0a is the device, right?). ACPI spec said set resource should be according to the output of current resource. That is we should build a template according to current resource (
_CRS). If_CRSdoesn't return a correct resource templete, set resource will fail.
resources after auto and activate and options are now exactly the same after the pnpacpi patch:
resources:
state = active
io 0x100-0x107
io 0x2e8-0x2ef
irq 5
dma 3
options:
port 0x100-0x130, align 0xf, size 0x8, 16-bit address decoding irq 3,4,5,7,10,11 High-Edge
dma 1,2,3 16-bit compatible
Dependent: 01 - Priority acceptable
port 0x3f8-0x3f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 02 - Priority acceptable
port 0x2e8-0x2e8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 03 - Priority acceptable
port 0x2f8-0x2f8, align 0x0, size 0x8, 16-bit address decoding
Dependent: 04 - Priority acceptable
port 0x3e8-0x3e8, align 0x0, size 0x8, 16-bit address decoding
With pnpbios, module loading gives this:
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): fir: 0x2e8, sir: 0x100, dma: 03, irq: 5, mode: 0x0e SMsC IrDA Controller found
IrCC version 2.0, firport 0x2e8, sirport 0x100 dma=3, irq=5
No transceiver found. Defaulting to Fast pin select
divert: not allocating divert_blk for non-ethernet device irda0
IrDA: Registered device irda0
With pnpacpi, module loading gives this:
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02
Haven't tried Villes patch yet, will do today evening.
Signature · 1 line
Meelis Roos ([email protected])
Quoted 7 lines · Meelis Roos
Quoted 5 lines
Could you please attach the output of 'cat 00:0a/resources' (0a is the device, right?). ACPI spec said set resource should be according to the output of current resource. That is we should build a template according to current resource (
_CRS). If_CRSdoesn't return a correct resource templete, set resource will fail.
Hi,
could you try this patch with the previous one. (You must enable ACPI DEBUG in kernel config)
When you activate the device, it sould print usefull information. Could attach the output, please.
Matthieu
drivers/pnp/pnpacpi/rsparser.c renamed from drivers/pnp/pnpacpi/rsparser.c.old +18 -0
@@ -29,6 +29,18 @@#define valid_IRQ (i) (((i) != 0) && ((i) != 2))#endif +static void debug_pnp (struct acpi_resource *res,int line) { +int tmp = acpi_dbg_level; +int tmp1 = acpi_dbg_layer; + + acpi_dbg_level =0x00010000 ; + acpi_dbg_layer =0x00000100 ; +printk ("******%d*******\n" ,line); +ACPI_DUMP_RESOURCE_LIST (res); + acpi_dbg_level = tmp; + acpi_dbg_layer = tmp1; +} +/* * Allocated Resources */
@@ -152,6 +164,8 @@ {struct pnp_resource_table * res_table = (struct pnp_resource_table *)data; +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ : if ((res->data.irq.number_of_interrupts > 0) &&
@@ -454,6 +469,8 @@struct pnp_dev *dev = parse_data->dev;struct pnp_option *option = parse_data->option; +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ :pnpacpi_parse_irq_option (option, &res->data.irq);
@@ -816,5 +843,7 @@ resource ++; i ++; } +debug_pnp (res,__LINE__); +return 0 ; }
Quoted 1 line
could you try this patch with the previous one. (You must enable ACPI DEBUG in kernel config)
After fixing one res -> resource, it compiled.
The output is uninteresting - it only prints one debug message during echoing activate to resources:
******845*******
pnp: Device 00:0a activated.
NET: Registered protocol family 23
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02
Signature · 1 line
Meelis Roos ([email protected])
Quoted 4 lines · Meelis Roos
Quoted 1 line
could you try this patch with the previous one. (You must enable ACPI DEBUG in kernel config)
After fixing one res -> resource, it compiled.
Oups that's the wrong fix : there was a line missing in my previous patch
Quoted 3 lines
The output is uninteresting - it only prints one debug message during echoing activate to resources:
That's because resource point at the end of the resources list, so there is nothing to read. With this patch, you should see something.
Quoted 7 lines
******845*******
pnp: Device 00:0a activated.
NET: Registered protocol family 23
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02
thanks for testing
Matthieu
pnp/pnpacpi/rsparser.c renamed from pnp/pnpacpi/rsparser.c.int +19 -0
@@ -29,6 +29,18 @@#define valid_IRQ (i) (((i) != 0) && ((i) != 2))#endif +static void debug_pnp (struct acpi_resource *res,int line) { +int tmp = acpi_dbg_level; +int tmp1 = acpi_dbg_layer; + + acpi_dbg_level =0x00010000 ; + acpi_dbg_layer =0x00000100 ; +printk ("******%d*******\n" ,line); +ACPI_DUMP_RESOURCE_LIST (res); + acpi_dbg_level = tmp; + acpi_dbg_layer = tmp1; +} +/* * Allocated Resources */
@@ -152,6 +164,8 @@ {struct pnp_resource_table * res_table = (struct pnp_resource_table *)data; +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ : if ((res->data.irq.number_of_interrupts > 0) &&
@@ -455,6 +469,8 @@struct pnp_dev *dev = parse_data->dev;struct pnp_option *option = parse_data->option; +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ :pnpacpi_parse_irq_option (option, &res->data.irq);
@@ -765,6 +781,7 @@/* pnpacpi_build_resource_template allocates extra mem */ int res_cnt = (buffer->length -1 )/sizeof (struct acpi_resource ) -1 ;struct acpi_resource *resource = (struct acpi_resource *)buffer->pointer; +struct acpi_resource *res = resource;int port =0 , irq =0 , dma =0 , mem =0 ;pnp_dbg ("res cnt %d" , res_cnt);
@@ -826,5 +843,7 @@ resource ++; i ++; } +debug_pnp (res,__LINE__); +return 0 ; }
Quoted 1 line
That's because resource point at the end of the resources list, so there is nothing to read. With this patch, you should see something.
On bootup there are loads on lines 167 and 472.
On auto there are none.
On activate there are
******846*******
pnp: Device 00:0a activated.
On modprobe smsc-ircc2 there are no more debug lines, just found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02
And I checked that I am using the new patch.
Signature · 1 line
Meelis Roos ([email protected])
Hi,
Quoted 11 lines · Meelis Roos
Quoted 1 line
That's because resource point at the end of the resources list, so there is nothing to read. With this patch, you should see something.
On bootup there are loads on lines 167 and 472.
On auto there are none.
On activate there are
******846*******
pnp: Device 00:0a activated.
Quoted 7 lines
On modprobe smsc-ircc2 there are no more debug lines, just found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227
smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02And I checked that I am using the new patch.
thanks.
it seems there is no resource in your __CRS. Like Shaohua said the acpi spec say that it must return valid template even if the device is disable [1].
Just for confirmation, could you try this patch. It should enable pnp_dbg message and print your _CRS when you activate the device. If there is nothing between ******574******* and ******857*******, you bios is likely broken.
thanks
Matthieu CASTET
[1]
If a device is disabled, then _CRS returns a valid resource template for the device, but the actual resource assignments in the return byte stream are ignored. If the device is disabled when _CRS is called, it must remain disabled.
drivers/pnp/pnpacpi/rsparser.c renamed from drivers/pnp/pnpacpi/rsparser.c.int +30 -0
@@ -29,6 +29,22 @@#define valid_IRQ (i) (((i) != 0) && ((i) != 2))#endif +static int first =1 ; +static void debug_pnp (struct acpi_resource *res,int line) { +int tmp = acpi_dbg_level; +int tmp1 = acpi_dbg_layer; +if (!first) +return ; + first =0 ; + + acpi_dbg_level =0x00010000 ; + acpi_dbg_layer =0x00000100 ; +printk ("******%d*******\n" ,line); +ACPI_DUMP_RESOURCE_LIST (res); + acpi_dbg_level = tmp; + acpi_dbg_layer = tmp1; +} +/* * Allocated Resources */
@@ -152,6 +168,8 @@ {struct pnp_resource_table * res_table = (struct pnp_resource_table *)data; +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ : if ((res->data.irq.number_of_interrupts > 0) &&
@@ -233,6 +251,7 @@/* Blank the resource table values */ pnp_init_resource_table (res); + first =1 ;return acpi_walk_resources (handle,METHOD_NAME__CRS , pnpacpi_allocated_resource, res); }
@@ -455,6 +474,8 @@struct pnp_dev *dev = parse_data->dev;struct pnp_option *option = parse_data->option; +//debug_pnp(res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ :pnpacpi_parse_irq_option (option, &res->data.irq);
@@ -535,6 +556,7 @@return AE_ERROR ; parse_data.independent_option = parse_data.option; parse_data.dev = dev; + first=1 ; status =acpi_walk_resources (handle,METHOD_NAME__PRS , pnpacpi_option_resource, &parse_data);
@@ -548,6 +570,9 @@ void *data) {int *res_cnt = (int *)data; + +debug_pnp (res,__LINE__); +switch (res->id) {case ACPI_RSTYPE_IRQ :case ACPI_RSTYPE_EXT_IRQ :
@@ -603,6 +628,7 @@int res_cnt =0 ;acpi_status status; + first =1 ; status =acpi_walk_resources (handle,METHOD_NAME__CRS , pnpacpi_count_resources, &res_cnt);if (ACPI_FAILURE (status)) {
@@ -765,6 +791,7 @@/* pnpacpi_build_resource_template allocates extra mem */ int res_cnt = (buffer->length -1 )/sizeof (struct acpi_resource ) -1 ;struct acpi_resource *resource = (struct acpi_resource *)buffer->pointer; +struct acpi_resource *res = resource;int port =0 , irq =0 , dma =0 , mem =0 ;pnp_dbg ("res cnt %d" , res_cnt);
@@ -826,5 +853,8 @@ resource ++; i ++; } + first=1 ; +debug_pnp (res,__LINE__); +return 0 ; }
drivers/pnp/pnpacpi/pnpacpi.h renamed from drivers/pnp/pnpacpi/pnpacpi.h.old +2 -0
@@ -1,6 +1,8 @@#ifndef ACPI_PNP_H #define ACPI_PNP_H +#define DEBUG +#include <acpi/acpi_bus.h> #include <linux/acpi.h> #include <linux/pnp.h>
Quoted 2 lines
Just for confirmation, could you try this patch. It should enable
pnp_dbgmessage and print your_CRSwhen you activate the device. If there is nothing between ******574******* and ******857*******, you bios is likely broken.
activate:
******574*******
pnp: Res cnt 4
pnp: res cnt 4
pnp: Encode io
pnp: Encode irq
pnp: Encode io
pnp: Encode dma
******857*******
pnp: Device 00:0a activated.
So it appears that there is something between 574 and 857.
modprobe is the same:
NET: Registered protocol family 23
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02
Signature · 1 line
Meelis Roos ([email protected])
Quoted 15 lines · Meelis Roos
Quoted 2 lines
Just for confirmation, could you try this patch. It should enable
pnp_dbgmessage and print your_CRSwhen you activate the device. If there is nothing between ******574******* and ******857*******, you bios is likely broken.activate:
******574*******
pnp: Res cnt 4
pnp: res cnt 4
pnp: Encode io
pnp: Encode irq
pnp: Encode io
pnp: Encode dma
******857*******
pnp: Device 00:0a activated.
Quoted 2 lines
So it appears that there is something between 574 and 857.
Are you sure you have enable ACPI DEBUG ? You should have CONFIG_ACPI_DEBUG=y in your .config
Quoted 7 lines
modprobe is the same:
NET: Registered protocol family 23
found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227smsc_superio_flat(): IrDA not enabledsmsc_superio_flat(): fir:0x00, sir:0x00, dma: 15, irq: 0, mode:0x02
Quoted 18 lines · matthieu castet
Quoted 16 lines · Meelis Roos
Quoted 2 lines
Just for confirmation, could you try this patch. It should enable
pnp_dbgmessage and print your_CRSwhen you activate the device. If there is nothing between ******574******* and ******857*******, you bios is likely broken.activate:
******574*******
pnp: Res cnt 4
pnp: res cnt 4
pnp: Encode io
pnp: Encode irq
pnp: Encode io
pnp: Encode dma
******857*******
pnp: Device 00:0a activated.
Quoted 6 lines
Quoted 2 lines
So it appears that there is something between 574 and 857.
Are you sure you have enable ACPI DEBUG ? You should have
CONFIG_ACPI_DEBUG=yin your .config
With this patch, it should be work better (no need to remove the previous patch)
Matthieu
PS : I should find a better way to make patch....
drivers/pnp/pnpacpi/Makefile renamed from drivers/pnp/pnpacpi/Makefile.old +5 -0
@@ -1,5 +1,10 @@ # # Makefile for the kernel PNPACPI driver. # +ifdef CONFIG_ACPI_DEBUG + ACPI_CFLAGS += -DACPI_DEBUG_OUTPUT +endif + +EXTRA_CFLAGS += $(ACPI_CFLAGS) obj-y := core.o rsparser.o
Quoted 1 line
Are you sure you have enable ACPI DEBUG ?
Oops, I did not. Now with ACPi DEBUG enabled and the Makefile patch applied:
activate:
******574*******
Resource structure 0.
Io Resource
16 bit decode
Range minimum base: 00000000
Range maximum base: 00000000
Alignment: 00000001
Range Length: 00000000
Resource structure 1.
IRQ Resource
Edge Triggered
Active High
Exclusive
0 Interrupts ( )
Resource structure 2.
Io Resource
16 bit decode
Range minimum base: 00000000
Range maximum base: 00000000
Alignment: 00000001
Range Length: 00000000
Resource structure 3.
DMA Resource
Compatibility mode
Not a Bus Master
16 bit only transfer
Number of Channels: 0 ( )
Resource structure 4.end_tag Resource
pnp: Res cnt 4
pnp: res cnt 4
pnp: Encode io
pnp: Encode irq
pnp: Encode io
pnp: Encode dma
******857*******
Resource structure 0.
Io Resource
16 bit decode
Range minimum base: 00000100
Range maximum base: 00000107
Alignment: 00000000
Range Length: 00000008
Resource structure 1.
IRQ Resource
Edge Triggered
Active High
Exclusive
1 Interrupts ( 5 )
Resource structure 2.
Io Resource
16 bit decode
Range minimum base: 000002E8
Range maximum base: 000002EF
Alignment: 00000000
Range Length: 00000008
Resource structure 3.
DMA Resource
Compatibility mode
Not a Bus Master
16 bit only transfer
Number of Channels: 1 ( 3 )
Resource structure 4.end_tag Resource
pnp: Device 00:0a activated.
modprobe is still the same.
Signature · 1 line
Meelis Roos ([email protected])
Quoted 1 line
just for curiosity, when you have time, could try pnpacpi and jean PNP smsc patch?
Couldn't find it at the first glance from my list archive - where can I get it?
Signature · 1 line
Meelis Roos ([email protected])
Quoted 4 lines · Meelis Roos
I tried it with pnpbios (acpi=off) and it started to work after auto and activate (but not with auto alone):
Quoted 16 lines
nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:/# echo activate > resources pnp: Device 00:0f activated. nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): fir: 0x2e8, sir: 0x100, dma: 03, irq: 5, mode: 0x0e SMsC IrDA Controller found IrCC version 2.0, firport 0x2e8, sirport 0x100 dma=3, irq=5 No transceiver found. Defaulting to Fast pin select IrDA: Registered device irda0
It is using the legacy probe instead of the pnp probe. Did you actually apply the pnp patch?
I'm not entirely sure what has been discussed since somebody removed me from the CC list...
Signature · 10 lines
Ville Syrjälä [email protected] http://www.sci.fi/~syrjala/ ------------------------------------------------------- This SF.Net email is sponsored by: InterSystems CACHE FREE OODBMS DOWNLOAD - A multidimensional database that combines robust object and relational technologies, making it a perfect match for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
Quoted 20 lines · Ville Syrjälä
Quoted 16 lines · Meelis Roos
I tried it with pnpbios (acpi=off) and it started to work after auto and activate (but not with auto alone):
nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): IrDA not enabled smsc_superio_flat(): fir: 0x00, sir: 0x00, dma: 15, irq: 0, mode: 0x02 FATAL: Error inserting smsc_ircc2 (/lib/modules/2.6.10-rc2/kernel/drivers/net/irda/smsc-ircc2.ko): No such device nartsiss:/# echo activate > resources pnp: Device 00:0f activated. nartsiss:/# modprobe smsc-ircc2 found SMC SuperIO Chip (devid=0x5a rev=00 base=0x002e): LPC47N227 smsc_superio_flat(): fir: 0x2e8, sir: 0x100, dma: 03, irq: 5, mode: 0x0e SMsC IrDA Controller found IrCC version 2.0, firport 0x2e8, sirport 0x100 dma=3, irq=5 No transceiver found. Defaulting to Fast pin select IrDA: Registered device irda0
Quoted 2 lines
It is using the legacy probe instead of the pnp probe. Did you actually apply the pnp patch?
No he doesn't use the pnp patch : only latest snapshot for the stable Linux kernel.
But there is still the problem with pnpacpi that is needed to fixed.
Quoted 2 lines
I'm not entirely sure what has been discussed since somebody removed me from the CC list...