Port-i386 archive

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

Re: tlp0: unable to map device registers



On Tue, Sep 9, 2008 at 2:51 PM, David Young <dyoung%pobox.com@localhost> wrote:
> On Tue, Sep 09, 2008 at 02:31:49PM -0400, Emery Clark wrote:
>> Hi all!
>>
>> I am having problems with a NetBSD install on an old system of mine.
>>
>> First, I cannot get the operating system to configure my Ethernet
>> card. The kernel recognizes it as a "Davicom DM9102A Ethernet" and
>> attempts to assign the tlp (Tulip) drivers to the hardware device.
>> Although the Tulip drivers seem to be very well known (and compiled
>> into the GENERIC kernel?) I cannot configure the device.
>>
>> Dmesg gives me:
>> "tlp0 at pci0 dev 5 function 0: DAvicom DM9102A Ethernet, pass 3.1
>> tlp0: unable to map device registers"
>
> Maybe the BIOS has not correctly initialized either the BARs, the memory-
> or the I/O-enable.
>
> What does 'pcictl pci0 dump -d 5' say?  Also, how about 'pcictl pci0
> dump -d 0' ?
>

Sorry for the delayed response.

$ pcictl pci0 dump -d 5
PCI configuration registers:
  Common header:
    0x00: 0x91021282 0x02100000 0x02000031 0x00004200

    Vendor Name: Davicom Semiconductor (0x1282)
    Device Name: DM9102 10/100 Ethernet (0x9102)
    Command register: 0x0000
      I/O space accesses: off
      Memory space accesses: off
      Bus mastering: off
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
      Interrupt disable: off
    Status register: 0x0210
      Capability List support: on
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: off
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: off
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: network (0x02)
    Subclass Name: ethernet (0x00)
    Interface: 0x00
    Revision ID: 0x31
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x42
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x00001001 0x60000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x50323030
    0x30: 0x00000000 0x00000050 0x00000000 0x28140103

    Base address register at 0x10
      type: i/o
      base: 0x00001000, not sized
    Base address register at 0x14
      type: 32-bit nonprefetchable memory
      base: 0x60000000, not sized
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x3030
    Subsystem ID: 0x5032
    Expansion ROM Base Address: 0x00000000
    Capability list pointer: 0x50
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x28
    Minimum Grant: 0x14
    Interrupt pin: 0x01 (pin A)
    Interrupt line: 0x03

  Capability register at 0x50
    type: 0x01 (Power Management, rev. 1.0)

  Device-dependent header:
    0x40: 0x08000000 0x00000000 0x00000000 0x00000000
    0x50: 0xf9120001 0x00000000 0x00000000 0x00000000
    0x60: 0x00000000 0x00000000 0x00000000 0x00000000
    0x70: 0x00000000 0x00000000 0x00000000 0x00000000
    0x80: 0x00000000 0x00000000 0x00000000 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xb0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xc0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00000000 0x00000000 0x00000000


$ pcictl pci0 dump -d 0
PCI configuration registers:
  Common header:
    0x00: 0x03051106 0x22100006 0x06000081 0x00000000

    Vendor Name: VIA Technologies (0x1106)
    Device Name: VT8363 (Apollo KT133) Host Bridge (0x0305)
    Command register: 0x0006
      I/O space accesses: off
      Memory space accesses: on
      Bus mastering: on
      Special cycles: off
      MWI transactions: off
      Palette snooping: off
      Parity error checking: off
      Address/data stepping: off
      System error (SERR): off
      Fast back-to-back transactions: off
      Interrupt disable: off
    Status register: 0x2210
      Capability List support: on
      66 MHz capable: off
      User Definable Features (UDF) support: off
      Fast back-to-back capable: off
      Data parity error detected: off
      DEVSEL timing: medium (0x1)
      Slave signaled Target Abort: off
      Master received Target Abort: off
      Master received Master Abort: on
      Asserted System Error (SERR): off
      Parity error detected: off
    Class Name: bridge (0x06)
    Subclass Name: host (0x00)
    Interface: 0x00
    Revision ID: 0x81
    BIST: 0x00
    Header Type: 0x00 (0x00)
    Latency Timer: 0x00
    Cache Line Size: 0x00

  Type 0 ("normal" device) header:
    0x10: 0x50000008 0x00000000 0x00000000 0x00000000
    0x20: 0x00000000 0x00000000 0x00000000 0x00000000
    0x30: 0x00000000 0x000000a0 0x00000000 0x00000000

    Base address register at 0x10
      type: 32-bit prefetchable memory
      base: 0x50000000, not sized
    Base address register at 0x14
      not implemented(?)
    Base address register at 0x18
      not implemented(?)
    Base address register at 0x1c
      not implemented(?)
    Base address register at 0x20
      not implemented(?)
    Base address register at 0x24
      not implemented(?)
    Cardbus CIS Pointer: 0x00000000
    Subsystem vendor ID: 0x0000
    Subsystem ID: 0x0000
    Expansion ROM Base Address: 0x00000000
    Capability list pointer: 0xa0
    Reserved @ 0x38: 0x00000000
    Maximum Latency: 0x00
    Minimum Grant: 0x00
    Interrupt pin: 0x00 (none)
    Interrupt line: 0x00

  Capability register at 0xa0
    type: 0x02 (AGP, rev. 2.0)
  Capability register at 0xc0
    type: 0x01 (Power Management, rev. 1.0)

  Device-dependent header:
    0x40: 0x00000000 0x00000000 0x00000000 0x00000000
    0x50: 0xb46bf416 0x10103845 0x101000e0 0x10101010
    0x60: 0xc000aaff 0xe4e4e4e6 0x0f321c50 0x00002108
    0x70: 0x0ccc88ce 0x00c2a10e 0x02110501 0x00000000
    0x80: 0x0000400f 0x000000c0 0x013a8003 0x00000000
    0x90: 0x00000000 0x00000000 0x00000000 0x00000000
    0xa0: 0x0020c002 0x1f000207 0x00000000 0x0004026b
    0xb0: 0x100a63bf 0x0000b5aa 0x00000020 0x00000000
    0xc0: 0x00020001 0x00000000 0x00000000 0x00000000
    0xd0: 0x00000000 0x00000000 0x00000000 0x00000000
    0xe0: 0x000000a0 0x00000000 0x00000000 0x00000000
    0xf0: 0x00000000 0x00810000 0xb0004232 0x06910000


Very interesting!

Here are my BIOS settings:
PCI Devices
[Slot 3] Ethernet Controller IRQ 3
[Onboard] USB Controller IRQ 11
[Onboard] USB Controller IRQ 11
[Onboard] Audio Device IRQ 10
[Onboard] VGA Controller IRQ 5

PCI Bus Mastering Disabled (see below)

USB Legacy Keyboard Support Enabled
Parallel Port Mode Compatible
Num Lock State at Power-On On
Video Memory Size 8 MB
AC97 Audio Auto-Detection


When I turn PCI Bus Mastering "Enabled" here is the 'diff' between the
two outputs of 'pcictl pci0 dump -d 5'
$ diff d5-disabled d5-enabled
3c3
<     0x00: 0x91021282 0x02100000 0x02000031 0x00004200
---
>     0x00: 0x91021282 0x02100004 0x02000031 0x00004200
7c7
<     Command register: 0x0000
---
>     Command register: 0x0004
10c10
<       Bus mastering: off
---
>       Bus mastering: on

Not sure if that helps.

>> to the tlp device). "dhclient" will not assign it an ip address b/c it
>> says "No broadcast interfaces found - exiting." If I run "ifconfig" it
>> says "ifconfig: SIOCGIFFLAGS tlp0: Device not configured"
>>
>> This card is recognized and configured correctly by the Linux kernel
>> so I know it's not a hardware problem.
>>
>> Also, I had another different problem that I was thinking was possibly
>> related. After I installed NetBSD, I upgraded the RAM in my system
>> from 256MB to 760MB, which is the maximum my system supports. The BIOS
>> recognizes the memory fine, however NetBSD will not boot. Almost
>> immediately as it starts to load the kernel it gives me the message:
>
> Does the NIC start to work if you take out the extra RAM?


No. I couldn't even get the system to boot with more than 256MB ram.
It would take me right to a "db>" (debug?) shell.


thanks for your help
Emery

-- 
http://emdog4.googlepages.com


Home | Main Index | Thread Index | Old Index