[haiku-development] Re: driver in user add-ons directory won't be loaded during boot phase

  • From: Colin Günther <coling@xxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Thu, 24 Sep 2009 20:30:49 +0200

Axel Dörfler schrieb:
Colin Günther <coling@xxxxxx> wrote:
Trying to figure out where to look in the source code for handling the loading of user add-ons. By now I'm only aware of the Safemode setting, which disables user add-ons loading.

Any other place I should have a look?

I'm not sure I understand your problem, so I don't have any advise. What drivers exactly are not loaded when exactly?

Bye,
   Axel.


Hi,
trying to shed more light onto the problem I'm trying to describe above.

During the first test period for the atheros wlan driver i've received several syslogs (e.g.: http://dev.osdrawer.net/issues/show/326), containing messages about identifying network drivers, like this one:

KERN: 3com: init_hardware(0x80da0360)
KERN: 3com: no hardware found.
KERN: ar81xx: init_hardware(0x80d9ed70)
KERN: ar81xx: no hardware found.
KERN: attansic_l2: init_hardware(0x80d9daf0)
KERN: attansic_l2: no hardware found.
KERN: nforce: init_hardware(0x80da0500)
KERN: nforce, found NVIDIA nForce MCP77 Networking Adapter at 13
KERN: nforce: init_driver(0x80da0500)
KERN: [nforce] (nfe) bus_alloc_resource(3, [16], 0x0, 0xffffffff, 0x1, 0x2)
KERN: [nforce] (nfe) bus_alloc_resource(1, [0], 0x0, 0xffffffff, 0x1, 0x6)
KERN: if_initname(0x817d9000, nfe, 3)
KERN: [nforce] nforce: /dev/net/nforce/0
KERN: [nforce] () Found MII: ukphy
KERN: [nforce] () OUI 0x000020, model 0x0020, rev. 1
KERN: [nforce] ()  Adding entry for Ethernet none
KERN: Adding entry for Ethernet 10baseT/UTP
KERN: 10baseTAdding entry for Ethernet 10baseT/UTP
KERN: , 10baseT-FDXAdding entry for Ethernet 100baseTX
KERN: , 100baseTXAdding entry for Ethernet 100baseTX
KERN: , 100baseTX-FDXAdding entry for Ethernet autoselect
KERN: , auto
KERN: ifmedia_set: target Ethernet autoselect
KERN: ifmedia_set: setting to Ethernet autoselect
KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/KERN: net/nforce
KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/net/pegasus
KERN: rtl8139: init_hardware(0x80dd37f4)
KERN: rtl8139: no hardware found.
KERN: rtl81xx: init_hardware(0x80dd51d4)
KERN: rtl81xx: no hardware found.
KERN: syskonnect: init_hardware(0x80dd9c60)
KERN: syskonnect: no hardware found.
KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/net/usb_ecm
KERN: via_rhine: init_hardware(0x80dd3be0)
KERN: vausb_midi: init_hardware() Sep  4 2009 22:16:25
KERN: usb_midi: init_driver() Sep  4 2009 22:16:25
KERN: usb_midi: init_driver() OK
KERN: usb_midi: publish_devices()
KERN: usb_midi: uninit_driver()
KERN: loaded driver /boot/system/add-ons/kernel/drivers/dev/midi/usb_midi

At the top of this output all network driver in the system directory are scanned in orde, but the suddenly the usb_midi driver gets loaded. There is no sign of trying to load the atheros driver, which was installed in the (correct) user addon at this time. This example syslog was even reproducable.

Because of this I tried to indentify the location in Haiku's source where decisions are made, whether user add-ons are loaded or not, thus my questioning on this mailing list.

After all, the explanation for this phenomenon, was a small syslog buffer size leading to truncated syslogs. There even was one <TRUNC> message hidden in the syslog (not depicted above)

After increasing the syslog buffer size, the load messages for the atheros driver appeared in the syslog, too.

Another reason, leading to the conclusion that it might be a user add-on specific issue, is the following output contained in several syslogs, too:

KERN: Could not load kernel add-on "/boot/home/config/add-ons/kernel/drivers/dev/net": Is a directory

This message is reproducable on the R1/alpha1 (r33109). To produce it you have to create a new directory in /boot/home/config/add-ons/kernel/drivers/dev/. This directory must have been empty before, though.

This messages appeared always in the context of firstly installing the atheros driver. Although the driver was loaded successfully after the installation, the next reboot lead to the missing loading messages as depicted in the example above.

There is no solution to this phenomenon so far and I don't know whether this is intended behaviour. At least I didn't find any bug report about it. If this is a bug I go ahead and file it.

So long

Colin

Other related posts: