[ltp] DMA hotswap 0.2.0
Pezhman Givy
linux-thinkpad@linux-thinkpad.org
Wed, 22 Feb 2006 14:56:02 +0100
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Cool! It works here on T42p.
Kernel version is 2.6.15.
Ejecting and inserting DVD-ROM works perfectly:
Feb 22 14:38:16 localhost kernel: lt_hotswap: Requesting IDE eject!
Feb 22 14:38:16 localhost kernel: lt_hotswap: Attempting to eject
Feb 22 14:38:48 localhost kernel: Mate c0408fa0 channel 1
Feb 22 14:38:48 localhost kernel: ide1: BM-DMA at 0x1868-0x186f,
BIOS settings: hdc:DMA, hdd:pio
Feb 22 14:38:48 localhost kernel: hdc: MATSHITADVD-RAM UJ-822S, ATAPI
CD/DVD-ROM drive
Feb 22 14:38:49 localhost kernel: ide1 at 0x170-0x177,0x376 on irq 15
Feb 22 14:38:49 localhost kernel: hdc: ATAPI 24X DVD-ROM DVD-R-RAM
CD-R/RW drive, 2048kB Cache, UDMA(33)
But inserting an Ultra-Bay Battery results in following messages:
Feb 22 14:44:17 localhost kernel: lt_hotswap: Requesting IDE eject!
Feb 22 14:44:17 localhost kernel: lt_hotswap: Attempting to eject
Feb 22 14:44:34 localhost kernel: acpi_bus-0073 [340374] bus_get_device
: No context for object [c20d8e68]
Feb 22 14:44:34 localhost kernel: acpi_bus-0073 [340373] bus_get_device
: No context for object [c20d8e68]
Feb 22 14:44:34 localhost kernel: acpi_bus-0073 [340373] bus_get_device
: No context for object [c20d8e68]
Feb 22 14:44:34 localhost kernel: dswload-0292: *** Error: Looking up
[SERN] in namespace, AE_ALREADY_EXISTS
Feb 22 14:44:34 localhost kernel: psloop-0287 [340389] ps_parse_loop
: During name lookup/catalog, AE_ALREADY_EXISTS
Feb 22 14:44:34 localhost kernel: psparse-0508: *** Error: Method
execution failed [\_SB_.PCI0.LPC_.EC__.GBIF] (Node c20d92e8),
AE_ALREADY_EXISTS
Feb 22 14:44:34 localhost kernel: osl-0854 [340393]
os_wait_semaphore : Failed to acquire semaphore[dfffe5e0|1|0], AE_TIME
Feb 22 14:44:34 localhost kernel: ACPI: Battery Slot [BAT1] (battery
present)
Feb 22 14:44:34 localhost kernel: lt_hotswap: Old handler found!
00000002 00000000 c213cdbc
Feb 22 14:44:34 localhost kernel: lt_hotswap: Calling old handler,
c02182f9 f5dd2260
Feb 22 14:44:37 localhost kernel: dsmethod-0213: *** Error: Method
reached maximum reentrancy limit (255)
Feb 22 14:44:37 localhost kernel: psparse-0508: *** Error: Method
execution failed [\_SB_.PCI0.LPC_.EC__.BAT0._BIF] (Node c20d8f28),
AE_AML_METHOD_LIMIT
Feb 22 14:44:37 localhost kernel: acpi_battery-0144 [340367]
battery_get_info : Error evaluating _BIF
Feb 22 14:44:39 localhost kernel: lt_hotswap: Calling old handler,
c02182f9 f5dd2260
Feb 22 14:44:40 localhost kernel: dsmethod-0213: *** Error: Method
reached maximum reentrancy limit (255)
Feb 22 14:44:40 localhost kernel: psparse-0508: *** Error: Method
execution failed [\_SB_.PCI0.LPC_.EC__.BAT0._BIF] (Node c20d8f28),
AE_AML_METHOD_LIMIT
Feb 22 14:44:40 localhost kernel: acpi_battery-0144 [340374]
battery_get_info : Error evaluating _BIF
Feb 22 14:44:44 localhost kernel: dsmethod-0213: *** Error: Method
reached maximum reentrancy limit (255)
Feb 22 14:44:44 localhost kernel: psparse-0508: *** Error: Method
execution failed [\_SB_.PCI0.LPC_.EC__.BAT0._BIF] (Node c20d8f28),
AE_AML_METHOD_LIMIT
Feb 22 14:44:44 localhost kernel: acpi_battery-0144 [340379]
battery_get_info : Error evaluating _BIF
Feb 22 14:44:47 localhost kernel: dsmethod-0213: *** Error: Method
reached maximum reentrancy limit (255)
Feb 22 14:44:47 localhost kernel: psparse-0508: *** Error: Method
execution failed [\_SB_.PCI0.LPC_.EC__.BAT0._BIF] (Node c20d8f28),
AE_AML_METHOD_LIMIT
And so on. And
cat /proc/acpi/battery/BAT?/info
results in
present: yes
ERROR: Unable to read battery information
present: yes
ERROR: Unable to read battery information
Greetings
Pezhman
Jim Duchek wrote:
> http://churchofjim.org/sources/lt_hotswap-0.2.0.tar.gz
>
> There were some issues with DMA setup. It's much, much better now,
> although it's a pretty kludgy solution.
>
> Use the auto_eject=1 command-line option until you think you're getting
> clean ide1 un/reregisters. Then switch to the userspace acpid stuff --
> trust me, it's a better idea and you're less likely to dick up your
> system. Remember that with auto_eject=1, you _must_ have everything
> umounted and make sure you're not using it, or your system is going to
> get really confused.
>
> See configs/lths.sh (it gets installed in /usr/local/sbin) for 'what
> userspace stuff it should do upon insertion/removal'. You probably want
> to customize it.
>
> If you do 'make install' it'll put the module and acpi scripts in
> (probably, anyway ;) the right places. Restart acpid, load the kernel
> module, and you should be in business.
>
> Oh, when you load the module at boot, make sure it loads AFTER
> everything else ACPI. I dig around in some internal ACPI stuff and
> things need to already be in place.
>
> Jim
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org
iD8DBQFD/G1yz6aJiiMTCIwRAlHcAKCu7oDSbi8UlDZlsVBc4BRxZmUjlgCaAw+v
LpTIoyscKOJw1/1KLe6+tHw=
=ORlX
-----END PGP SIGNATURE-----