Hacking a IBM x24 laptop

Interesting resource for configuring: http://www.bekkoame.ne.jp/~ponpoko/Linux/Chandra/NLX24-e.html

Compact flash support

Hell to accomplish, but still seems possible.

I have a kingston 2GB pro compact flash which has problems with lost interrupts.

first prolem was on the non-existing partition hdf:

http://lists.infradead.org/pipermail/linux-pcmcia/2006-July/003762.html http://lists.infradead.org/pipermail/linux-pcmcia/2006-July/003811.html

resolved patching the kernel:

http://www.users.bigpond.com/vkelim/SuSE_notes/node114.html http://lists.osdl.org/pipermail/bugme-janitors/2006-July/000349.html

The solution can be found in a Chuan-Kai Lin. The post refers to a problem back in 2.6.0 release candidates, where some code in drivers/ide/ide_probe.c attempts to handle old Seagate drives. The problem persists at least up to 2.6.18-rc2. The solution is to change the following lines in ide_probe.c (actual_try_to_identify)...

    if ((a ^ s) & ~INDEX_STAT) {

     printk(KERN_INFO "%s: probing with STATUS(0x%02x) instead of "

      "ALTSTATUS(0x%02x)\n", drive->name, s, a);

      /* ancient Seagate drives, broken interfaces */

     hd_status = IDE_STATUS_REG;

    } else {

     /* use non-intrusive polling */

     hd_status = IDE_ALTSTATUS_REG;

    } 

to...

    if ((a ^ s) & ~INDEX_STAT) {

     printk(KERN_INFO "%s: was going to probe with STATUS(0x%02x) instead of "

      "ALTSTATUS(0x%02x) - use non-intrusive probe instead\n", drive->name, s, a);

      /* was to handle ancient Seagate drives, broken interfaces. */

      /* seems to break Muramasa and Kingston 4GB CF, so next line changed */

     hd_status = IDE_ALTSTATUS_REG; /* was IDE_STATUS_REG */

    } else {

     /* use non-intrusive polling */

     hd_status = IDE_ALTSTATUS_REG;

    } 

but unfortunately this is not enough :( i still get lost interrupts on hde (existing partition this time)

..... hacking continues....