[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Broken SCSI on SPARCclassic X



The classic and the classic X differ by only a few lines on the prom, there's a HOWTO, to change the Classic X to a working Classic. Google for it and then everything will work. I have done this in the past and had debian working on a classic X with a disk.

Hamish

Markus Dahms wrote:
Hi,

Trying to install Etch on a Classic X (sun4m, 4/10) I encountered some problems with the SCSI controller. After booting from the SCSI disk in question (the actual installation I did in an SPARCstation 5, but it's
the same for netboot or CD-ROM installer) the esp module oopses:

[...]
SCSI subsystem initialized esp0: IRQ 0 SCSI ID 7 Clk 40MHz CCYC=25000 CCF=8 TOut 167 <1>Unable to handle k0 tsk->{mm,active_mm}->context = 0000003f tsk->{mm,active_mm}->pgd = fc015000 \|/ ____ \|/ "@'/ ,. \`@" /_| \__/ |_\ \__U_/ modprobe(761): Oops [#1] PSR: 419000c6 PC: fe61e840 NPC: fe61e844 Y: 01c00000 Not tainted PC: <esp_sbus_probe+0x5b4/0xae8 [esp]> %G: 000000ff 0000000a fd114000 41400fe4 f003046c 00004000 f020a000 00000000 %O: 0000001f fe620740 000000ff 000061a8 00000008 000000a7 f020bc10 fe61e7d8 RPC: <esp_sbus_probe+0x54c/0xae8 [esp]> %L: 0000001f 000000ff fe620400 f32e1000 f32e1800 f595e800 f32e1000 f32e1008 %I: fffffff4 f595ea9c 00000020 f019f190 f020a000 f0228d20 f020bc78 f001bb94 Caller[f001bb94]: of_device_probe+0x58/0x74 Caller[f0117068]: driver_probe_device+0x60/0xb8 Caller[f01171c8]: __driver_attach+0x70/0xc4 Caller[f0116950]: bus_for_each_dev+0x40/0x74 Caller[f01165a0]: bus_add_driver+0x6c/0x134 Caller[f004c97c]: sys_init_module+0x1610/0x1778 Caller[f0011634]: syscall_is_too_hard+0x3c/0x40 Caller[000133b4]: 0x133bc Instruction DUMP: 8210200a c228a02c c4064000 <c208a02c> 8208601f 80a0600a 0 Killed

Being alerted by IRQ 0 and the fact that probe-scsi in OpenBoot doesn't
work as expected I looked a bit deeper into the OpenBoot device tree and
found what probably is a bug in the PROM. As this machine is used diskless
in most cases it might not be noticed that the "scsi" devalias is wrong
(at least in my version of the PROM - Rom Rev: 2.12).

Note the swapped addresses (or is it something else?) for espdma and esp:

ok show-devs
[...]
/iommu@0,10000000/sbus@0,10001000/espdma@4,8800000 [...] /iommu@0,10000000/sbus@0,10001000/espdma@4,8800000/esp@4,8400000 /iommu@0,10000000/sbus@0,10001000/espdma@4,8800000/esp@4,8400000/st /iommu@0,10000000/sbus@0,10001000/espdma@4,8800000/esp@4,8400000/sd [...]

ok devalias [...] scsi /iommu/sbus/espdma@4,8400000/esp@4,8800000 [...] disk /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@3,0 cdrom /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@6,0:d tape /iommu/sbus/espdma@4,8400000/esp@4,8800000/st@4,0 tape0 /iommu/sbus/espdma@4,8400000/esp@4,8800000/st@4,0 tape1 /iommu/sbus/espdma@4,8400000/esp@4,8800000/st@5,0 disk3 /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@3,0 disk2 /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@2,0 disk1 /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@1,0 disk0 /iommu/sbus/espdma@4,8400000/esp@4,8800000/sd@0,0

As the PROM is read-only one can only prepend device aliases to the
list. Adding a correct (or not) alias for scsi the kernel halts after
PROM initialization:

ok devalias scsi /iommu/sbus/espdma@4,8800000/esp@4,8400000 scsi isn't unique ok boot SILO Version 1.4.13 boot: Uncompressing image... Loaded kernel version 2.6.18 Loading initial ramdisk (3142737 bytes at 0x3000000 phys, 0x60000000 virt)... PROMLIB: obio_ranges 1
That's all. No more output... Is there any other way to correct the
scsi alias or Linux' behaviour? The problem might be an alias which is
not unique. Without this initial devalias command the kernel boots fine
up to the esp oops shown above.

Btw: How do I build Sparc netboot images to try booting a newer kernel?

Greetings,

	Markus






Reply to: