lkml.org 
[lkml]   [1998]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectISSUE: kernel hangs during PCI device probing
    Hi all
    It's first time I post here so please - have mercy on me if I do
    something wrong. Here is the problem:
    1. kernel hangs during PCI device probing
    2. During boot kernel decompresses itself, displays a few lines on console
    and dies when it tries to detect PCI devices. Nope. PC is dead and the
    only thing I can do is to switch it off and on again. I would have
    pressed reset button if I had had one...
    3. PCI, kernel, SiS-510X
    4. Kernel version 2.0.33 with modular sound patches from RH5. But it
    appears also on some earlier 2.0 versions and I am 95% sure the same
    problem exists in 2.1.
    5. No oops...
    6. And no shell script...
    7. The ver_linux script doesn't work very well on RH5. But here it is:

    -- Versions installed: (if some fields are empty or looks
    -- unusual then possibly you have very old versions)
    Linux ciri 2.0.33 #1 nie mar 15 18:05:16 GMT 1998 i586 unknown
    Kernel modules 2.1.55
    Gnu C 2.7.2.3
    Binutils linux-2.8.1.0.1
    Linux C Library 0.6.so (2.0.6 - glibc 2.0)
    Linux C++ Library 2.7.2
    Procps 1.2.4
    Mount 2.7f
    Net-tools 1.33
    Kbd 0.94
    Sh-utils 1.16

    /proc/cpuinfo

    processor : 0
    cpu : 586
    model : Pentium 75+
    vendor_id : GenuineIntel
    stepping : 12
    fdiv_bug : no
    hlt_bug : no
    f00f_bug : yes
    fpu : yes
    fpu_exception : yes
    cpuid : yes
    wp : yes
    flags : fpu vme de pse tsc msr mce cx8
    bogomips : 47.82

    /proc/modules

    psaux 1 1 (autoclean)
    autofs 2 1 (autoclean)
    pcnet_cs 2 1
    8390 2 [pcnet_cs] 0
    ds 2 [pcnet_cs] 5
    i82365 4 4
    pcmcia_core 7 [pcnet_cs ds i82365] 6
    vfat 3 1 (autoclean)
    fat 6 [vfat] 1 (autoclean)
    opl3 3 0
    sb 6 0
    uart401 2 [sb] 0
    sound 16 [opl3 sb uart401] 0

    no scsi

    /proc/pci (yes I have it, go further for details...)

    PCI devices found:
    Bus 0, device 14, function 0:
    PCMCIA bridge: Omega Micro 82C092G (rev 2).
    Slow devsel. Fast back-to-back capable.
    I/O at 0x3e4.
    Bus 0, device 13, function 0:
    PCMCIA bridge: Omega Micro 82C092G (rev 2).
    Slow devsel. Fast back-to-back capable.
    I/O at 0x3e0.
    Bus 0, device 6, function 0:
    VGA compatible controller: Trident TG 9660 (rev 211).
    Medium devsel. IRQ 255.
    Non-prefetchable 32 bit memory at 0x8000000.
    Non-prefetchable 32 bit memory at 0x8800000.
    Non-prefetchable 32 bit memory at 0x8400000.
    Bus 0, device 2, function 0:
    PCI bridge: Silicon Integrated Systems 5107 (rev 1).
    Medium devsel. Master Capable. No bursts.
    Non-prefetchable 32 bit memory at 0xc2800000.
    Bus 0, device 1, function 1:
    IDE interface: Silicon Integrated Systems 85C601 (rev 1).
    Medium devsel. IRQ 14.
    I/O at 0x174.
    I/O at 0x1f4.
    I/O at 0x374.
    I/O at 0x3f4.
    Bus 0, device 1, function 0:
    ISA bridge: Silicon Integrated Systems 85C503 (rev 1).
    Medium devsel. Master Capable. No bursts.
    Bus 0, device 0, function 0:
    Host bridge: Silicon Integrated Systems 85C501 (rev 0).
    Fast devsel. Master Capable. No bursts.

    output from NT compatibility tool:

    Hardware Detection Tool For Windows NT 4.0 Beta 2

    Master Boot Sector Virus Protection Check
    Hard Disk Boot Sector Protection: Off.
    No problem to write to MBR

    ISA Plug and Play Add-in cards detection Summary Report

    No ISA Plug and Play cards found in the system
    ISA PnP Detection: Complete

    EISA Add-in card detection Summary Report
    Scan Range: Slot 0 - 16
    Slot 0: EISA System Board
    EISA Bus Detected: No
    EISA Detection: Complete

    Legacy Detection Summary Report

    Drive 3, Total Clusters: 51380
    Available Clusters: 22641
    Sectors per Cluster: 16
    Bytes per Sector: 512
    Available Space: 176MB

    Drive 4, Total Clusters: 63970
    Available Clusters: 28434
    Sectors per Cluster: 16
    Bytes per Sector: 512
    Available Space: 222MB

    System Information
    Device: System board
    Can't locate Computername
    Machine Type: IBM PC/AT
    Machine Model: fc
    Machine Revision: 00
    Microprocessor: Pentium
    Conventional memory: 655360
    Available memory: 32 MB
    Can't locate BIOSName
    BIOS Version: SystemSoft PCI BIOS for SiS-510X Ver 1.01.26 (6X00-05-11)
    BIOS Date: 03/14/97
    Bus Type: ISA

    Device: Programmable interrupt controller
    Hardware ID (for Legacy Devices): *PNP0000
    I/O: 20 - 21
    I/O: a0 - a1
    IRQ: 2

    Device: Direct memory access controller
    Hardware ID (for Legacy Devices): *PNP0200
    I/O: 0 - f
    I/O: 81 - 83
    I/O: 87 - 87
    I/O: 89 - 8b
    I/O: 8f - 8f
    I/O: c0 - df
    DMA: 4

    Device: System CMOS/real time clock
    Hardware ID (for Legacy Devices): *PNP0B00
    I/O: 70 - 71
    IRQ: 8

    Device: System timer
    Hardware ID (for Legacy Devices): *PNP0100
    I/O: 40 - 43
    IRQ: 0

    Device: System speaker
    Hardware ID (for Legacy Devices): *PNP0800
    I/O: 61 - 61

    Device: Numeric data processor
    Hardware ID (for Legacy Devices): *PNP0C04
    I/O: f0 - ff
    IRQ: 13

    Device: Standard 101/102-Key or Microsoft Natural Keyboard
    Hardware ID (for Legacy Devices): *PNP0303
    I/O: 60 - 60
    I/O: 64 - 64
    IRQ: 1

    Device: Plug and Play BIOS
    Hardware ID (for Legacy Devices): *PNP0C00
    Didn't detect system resources being used.

    Device: Advanced Power Management support
    Hardware ID (for Legacy Devices): *PNP0C05
    Didn't detect system resources being used.

    Device: Standard PS/2 Port Mouse
    Hardware ID (for Legacy Devices): *PNP0F0E
    IRQ: 12

    Device: Trident Super VGA
    Hardware ID (for Legacy Devices): *PNP0903
    I/O: 3b0 - 3bb
    I/O: 3c0 - 3df
    Memory: a0000 - affff
    Memory: b8000 - bffff

    Device: Standard Floppy Disk Controller
    Hardware ID (for Legacy Devices): *PNP0700
    I/O: 3f2 - 3f5
    IRQ: 6
    DMA: 2

    Device: Communications Port
    Hardware ID (for Legacy Devices): *PNP0500
    Friendly Port Name: COM1
    I/O: 3f8 - 3ff
    IRQ: 4

    Device: Standard IDE/ESDI Hard Disk Controller
    Hardware ID (for Legacy Devices): *PNP0600
    I/O: 1f0 - 1f7
    I/O: 3f6 - 3f6
    IRQ: 14

    Device: ECP Printer Port
    Hardware ID (for Legacy Devices): *PNP0401
    Friendly Port Name: LPT1
    I/O: 378 - 37a

    Device: ESS ES1688 AudioDrive
    Hardware ID (for Legacy Devices): *ESS1681
    I/O: 240 - 24f
    I/O: 388 - 38b
    I/O: 300 - 301
    IRQ: 9
    DMA: 0

    Device: Gameport Joystick
    Hardware ID (for Legacy Devices): *PNPB02F
    I/O: 201 - 201
    Parse Legacy Data: Complete

    MicroChannel (MCA)card detection Summary Report
    Scan Range: Slot 0 - 16
    Only MCA IDs are detected
    MCA Bus Detected: No
    MCA Detection: Complete

    Enumerate all IDE devices

    IDE Devices Detection Summary Report
    Primary Channel: master drive detected
    Model Number: HITACHI_DK224A-14
    Firmware Revision: 00C0A0A2
    Serial Number: 658955
    Type of Drive: Fixed Drive
    Disk Transfer Rate: >10Mbs
    Number of Cylinders: 2792
    Number of Heads: 16
    Number of Sectors Per Track: 63
    Number of unformatted bytes per sector Per Track: 579
    LBA Support: Yes
    DMA Support: Yes
    Drive Supports PIO Transfer Cycle Time Mode: 1
    Drive Supports Fast PIO Mode: 3
    Drive Supports Fast PIO Mode: 4


    Secondary Channel: ATAPI device as a master drive detected
    Model Number: CD-211E
    Firmware Revision: 5.0D
    Protocol Type: ATAPI
    Device Type: CD-ROM drive
    LBA Support: Yes
    DMA Support: Yes
    Drive Supports PIO Transfer Cycle Time Mode: 1
    Drive Supports Fast PIO Mode: 3
    Drive Supports Fast PIO Mode: 4


    IDE/ATAPI: Complete

    Enumerate SCSI devices
    ASPI for Windows is not available!

    SCSI Device Enumeration: complete

    PCI Add-in card detection Summary Report

    PCI Access Mechanism Support: 1
    Special Cycle 1 supported
    Number of Last PCI Bus: 0
    PCI Version: 2.10

    PCI Bus Detected: Yes


    Vendor ID: 1039
    Device ID: 0406
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Bridge Device
    Silicon Integrated Systems Pentium(r) to PCI bridge [original model]

    Vendor ID: 1039
    Device ID: 0008
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Bridge Device
    Silicon Integrated Systems PCI to ISA bridge

    Vendor ID: 1039
    Device ID: 0601
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Mass Storage Controller
    Unknown PCI Device. Its device ID is not recognized by this program.
    IO Base: 00000174, IO Len 028c
    IO Base: 000001f4, IO Len 020c
    IO Base: 00000374, IO Len 008c
    IO Base: 000003f4, IO Len 000c

    Vendor ID: 1039
    Device ID: 5107
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Bridge Device
    Unknown PCI Device. Its device ID is not recognized by this program.
    Memory: c2800000, MemoryLength 3d7f0f10
    Bridge is not configured for use

    Vendor ID: 1023
    Device ID: 9660
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Display Controller
    Trident 9660, Linear Addressing For PCI V1.0a
    INT Pin: set
    Int not needed (Disabled=255), Pin 01
    Memory: 08000000, MemoryLength 00400000
    Memory: 08800000, MemoryLength 00010000
    Memory: 08400000, MemoryLength 00400000

    Vendor ID: 119B
    Device ID: 1221
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Bridge Device
    Unknown PCI Device. Its device ID is not recognized by this program.
    INT Pin: set
    IRQ 00, Pin 01
    IO Base: 000003e0, IO Len 0004

    Vendor ID: 119B
    Device ID: 1221
    Subsystem ID: 0000
    Subsystem Vendor ID:0000
    Device Type: Bridge Device
    Unknown PCI Device. Its device ID is not recognized by this program.
    INT Pin: set
    IRQ 00, Pin 01
    IO Base: 000003e4, IO Len 0004
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2
    !!!Memory range overlap with device 2

    Overall PCI configuration Fails
    PCI Detection: Complete

    ===============End of Detection Report===================
    Enough Processor
    Enough Disk
    Enough Memory
    Compatible Video
    Compatible CDROM
    Compatible KeyBoard
    Compatible Mouse
    Truth Table Output:
    Enough memory: 1
    Enough disk space: 1
    Video card: 1
    Keyboard: 1
    Mouse: 1
    CD-ROM drive: 1

    That was long....

    I bought laptop some time ago, mainly to use it with linux. And it
    didn't install. As I've already written it stopped during PCI probing so I
    decided to build custom kernel on another machine with pci disabled. It
    worked. At this point I decided to investigate a little and was able to
    find offending device - it is PCI to PCI bridge with id 1039:5107. As I
    understand there is a function in pci.c called scan_bus and this is
    recursive function called for each bridge found. In my case top level call
    (I suppose it called for host to PCI bridge) is OK, but this function
    hangs when called for bridge mentioned earlier. My guess is that this
    bridge is used as bridge between laptop's bus and bus in docking station.
    And I don't use it.
    I don't remeber where exactly it hung but I think it was inside first
    call to pcibios_read_config_byte from scan_bus.
    I developed quick and dirty fix for it - it just skips recursive call to
    scan_bus for offending bridge:

    --- linux/drivers/pci/pci.c.orig Wed Jan 7 21:24:39 1998
    +++ linux/drivers/pci/pci.c Wed Jan 7 21:26:53 1998
    @@ -993,7 +993,9 @@
    dev->sibling = bus->devices;
    bus->devices = dev;

    - if (dev->class >> 8 == PCI_CLASS_BRIDGE_PCI) {
    + if (dev->class >> 8 == PCI_CLASS_BRIDGE_PCI &&
    + dev->vendor != PCI_VENDOR_ID_SI &&
    + dev->device != PCI_DEVICE_ID_SI_5107) {
    unsigned int buses;
    unsigned short cr;

    I suppose it will work fine as long as you don't want to use docking
    station...
    And one more thing - I can't tell a lot about my laptop. It's produced
    in Taiwan as model 6200T and was bought in the UK as PICO 6200. It is also
    available here as AJP 6200 and I saw some other names I don't remember.
    That was quite long... Sorry for that. If you want to have a look at
    this and need more information or want me to test something - send me
    email to: tomkep@globalnet.co.uk (during weekend, I don't check this
    account on daily bases) or etltkki@etl.ericsson.se (mon-fri).
    Tomek
    PS: Can you understand my English?



    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu

    \
     
     \ /
      Last update: 2005-03-22 13:41    [W:0.045 / U:29.296 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site