John Heidemann / Other Stuff / Free Unix / Random Notes about Linux and Hardware

This page is dedicated to random notes about hardware I’ve used with Linux. I’m not trying hard to link it to things, but am counting on those wonderful full-text search engines to make it useful to people. I know when I get a random problem with hardware, I try typing terms into a search engine.

Yamaha CRW4416S Rewritable CD

I got this CD-RW for my home system, and it crashed Linux 2.2.5 (RedHat 6.0) on boot. The error (reproduced from another report) is:

Jul 1 01:26:27 eusa kernel: scsi : aborting command due to timeout : pid
17, sc
si0, channel 0, id 3, lun 0 Test Unit Ready 00 00 00 00 00 
Jul 1 01:26:57 eusa kernel: scsi : aborting command due to timeout : pid
17, sc
si0, channel 0, id 3, lun 0 Test Unit Ready 00 00 00 00 00 
Jul 1 01:26:57 eusa kernel: (scsi0:0:15:7) Invalid SCB during SEQINT
0x71, SCB_
TAG 255.
Jul 1 01:27:27 eusa kernel: scsi : aborting command due to timeout : pid
17, sc
si0, channel 0, id 3, lun 0 Request Sense 00 00 00 10 00 
Jul 1 01:27:29 eusa kernel: SCSI host 0 abort (pid 17) timed out -
resetting
Jul 1 01:27:29 eusa kernel: SCSI bus is being reset for host 0 channel 0.
Jul 1 01:28:00 eusa kernel: SCSI host 0 abort (pid 17) timed out -
resetting
Jul 1 01:28:00 eusa kernel: SCSI bus is being reset for host 0 channel 0.
Jul 1 01:28:01 eusa kernel: SCSI host 0 channel 0 reset (pid 17) timed
out - tr
ying harder
Jul 1 01:28:01 eusa kernel: SCSI bus is being reset for host 0 channel 0.
Jul 1 01:28:01 eusa kernel: (scsi0:0:3:0) Performing Domain validation.
Jul 1 01:28:32 eusa kernel: SCSI host 0 abort (pid 17) timed out -
resetting
Jul 1 01:28:32 eusa kernel: SCSI bus is being reset for host 0 channel 0.
Jul 1 01:28:32 eusa kernel: (scsi0:0:3:0) Successfully completed Domain
validation.

panic:

Unable to handle kernel NULL pointer dereference at virtual address
00000004
current->tss.cr3 = 00101000, %cr = 00101000
*pde = 00000000
Oops: 0000
CPU: 0
EIP: 0010:[]
EFLAGS: 00010046
eax: 00001064 ebx: c7fe3400 ecx: c009a878 edx: 0000001f
esi: c009a878 edi: 00000000 ebp: c8000000 esp: c0229e94
ds: 0018 es: 0018 ss: 0018
Process swapper (pid: 0, process nr: 0, stackpage = c0229000)
Stack: c009a878 0000000b c0235dbe c0235dff 0000003b 000000ff c01ffbe0 c01cd61d
c009a878 c7fe3400 00000003 c009a878 00000286 c0229f68 0000000b c01c7e58
c009a878 00000004 c009a878 00000286 c0229f68 0000000b 00000001 00000004
Call Trace: [] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] []
Code: 8b 47 04 31 db 31 d2 8a 58 40 8a 50 42 c1 e2 03 09 d3 8d 96
Aiee, killing interrupt handler
Kernel panic: Attempted to kill the idle task!
In swapper task - not syncing

(more or less–in my case it said “trying harder”).

The work-around is to up the reset delay value (kernel parameter CONFIG_AIC7XXX_RESET_DELAY). In my case, 20 (seconds) worked sometimes; 45 seems to work consistently (of course, I don’t reboot often with Linux :-).

Clearly this is a hack around some kind of problem in the firmware.

The LM78 temperature sensor

My home PC (with an EFA P6BX motherboard) has an WinBond W83781D chip for temperature monitoring. Basically this is a clone of a more popular chip (the LM78/LM79). It’s supposed to be compatible, but doesn’t seem to be.

LM specs ar at National (see the web page or pdf). The Winbond W83781D specs are at Winbond (web page, data sheet in pdf).

Unfortunately, I haven’t yet gotten around to writing the driver for it. If anyone has a driver or hears of one one, please let me know.

Copyright © 1995-2016 by John Heidemann