Re: Patch to support drivers compiled into the kernel
- From: Bill C Riemers <briemers redhat com>
- To: Kay Sievers <kay sievers vrfy org>
- Cc: NetworkManager-list gnome org
- Subject: Re: Patch to support drivers compiled into the kernel
- Date: Tue, 03 Mar 2009 13:20:56 -0500
I'm sorry, it seems the list manager did not deliver all the replies Kay
Sievers quoted...
In regards to the device particulars, I have included the output of
hal-devices below.
As you can see the network device is:
13: udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00'
The originating device is:
net.originating_device = '/org/freedesktop/Hal/devices/computer'
I don't know much about HAL, but this appears to just be a reference to
the Linux kernel, so there is no driver associated with it.
The other option I considered is just to return "<unknown>" in all cases
when the driver is not found, but I worried that might have un-intended
side effects.
Bill
# hal-devices
0: udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_2'
linux.sysfs_path = '/sys/devices/serio0' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.subsystem = 'serio' (string)
info.linux.driver = 'atkbd' (string)
info.product = 'cokbd port' (string)
serio.id = 'serio0' (string)
info.udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_2' (string)
serio.description = 'cokbd port' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'serio' (string)
1: udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_2'
net.interface = 'eth0' (string)
linux.sysfs_path = '/sys/class/net/eth0' (string)
net.address = '00:ff:d3:da:b0:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 2 (0x2) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 1 (0x1) (int)
info.product = 'Networking Interface' (string)
net.80203.mac_address = 1098770984960 (0xffd3dab000) (uint64)
info.udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_2'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
info.interfaces = { 'org.freedesktop.Hal.Device.WakeOnLan' } (string list)
linux.subsystem = 'net' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_names = { 'GetSupported',
'GetEnabled', 'SetEnabled' } (string list)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_signatures = { '', '', 'b'
} (string list)
info.category = 'net.80203' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_argnames = { '', '',
'enable' } (string list)
info.capabilities = { 'net', 'net.80203', 'wake_on_lan' } (string list)
org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = {
'hal-system-wol-supported', 'hal-system-wol-enabled',
'hal-system-wol-enable' } (string list)
2: udi = '/org/freedesktop/Hal/devices/net_00_00_00_00_0'
net.interface = 'sit0' (string)
linux.sysfs_path = '/sys/class/net/sit0' (string)
net.address = '00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 3 (0x3) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 776 (0x308) (int)
info.udi = '/org/freedesktop/Hal/devices/net_00_00_00_00_0' (string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net' (string)
info.capabilities = { 'net' } (string list)
3: udi = '/org/freedesktop/Hal/devices/net_computer_loopback_2'
net.interface = 'lo' (string)
linux.sysfs_path = '/sys/class/net/lo' (string)
net.address = '00:00:00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 1 (0x1) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 772 (0x304) (int)
info.product = 'Loopback device Interface' (string)
info.udi = '/org/freedesktop/Hal/devices/net_computer_loopback_2'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net.loopback' (string)
info.capabilities = { 'net', 'net.loopback' } (string list)
4: udi = '/org/freedesktop/Hal/devices/net_00_00_00_00'
net.interface = 'sit0' (string)
linux.sysfs_path = '/sys/class/net/sit0' (string)
net.address = '00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 3 (0x3) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 776 (0x308) (int)
info.udi = '/org/freedesktop/Hal/devices/net_00_00_00_00' (string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net' (string)
info.capabilities = { 'net' } (string list)
5: udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_1'
linux.sysfs_path = '/sys/devices/serio0' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.subsystem = 'serio' (string)
info.linux.driver = 'atkbd' (string)
info.product = 'cokbd port' (string)
serio.id = 'serio0' (string)
info.udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_1' (string)
serio.description = 'cokbd port' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'serio' (string)
6: udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_1'
net.interface = 'eth0' (string)
linux.sysfs_path = '/sys/class/net/eth0' (string)
net.address = '00:ff:d3:da:b0:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 2 (0x2) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 1 (0x1) (int)
info.product = 'Networking Interface' (string)
net.80203.mac_address = 1098770984960 (0xffd3dab000) (uint64)
info.udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_1'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
info.interfaces = { 'org.freedesktop.Hal.Device.WakeOnLan' } (string list)
linux.subsystem = 'net' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_names = { 'GetSupported',
'GetEnabled', 'SetEnabled' } (string list)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_signatures = { '', '', 'b'
} (string list)
info.category = 'net.80203' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_argnames = { '', '',
'enable' } (string list)
info.capabilities = { 'net', 'net.80203', 'wake_on_lan' } (string list)
org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = {
'hal-system-wol-supported', 'hal-system-wol-enabled',
'hal-system-wol-enable' } (string list)
7: udi = '/org/freedesktop/Hal/devices/net_computer_loopback_1'
net.interface = 'lo' (string)
linux.sysfs_path = '/sys/class/net/lo' (string)
net.address = '00:00:00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 1 (0x1) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 772 (0x304) (int)
info.product = 'Loopback device Interface' (string)
info.udi = '/org/freedesktop/Hal/devices/net_computer_loopback_1'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net.loopback' (string)
info.capabilities = { 'net', 'net.loopback' } (string list)
8: udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_0'
linux.sysfs_path = '/sys/devices/serio0' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.subsystem = 'serio' (string)
info.linux.driver = 'atkbd' (string)
info.product = 'cokbd port' (string)
serio.id = 'serio0' (string)
info.udi = '/org/freedesktop/Hal/devices/computer_cokbd_port_0' (string)
serio.description = 'cokbd port' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'serio' (string)
9: udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_0'
net.interface = 'eth0' (string)
linux.sysfs_path = '/sys/class/net/eth0' (string)
net.address = '00:ff:d3:da:b0:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 2 (0x2) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 1 (0x1) (int)
info.product = 'Networking Interface' (string)
net.80203.mac_address = 1098770984960 (0xffd3dab000) (uint64)
info.udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00_0'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
info.interfaces = { 'org.freedesktop.Hal.Device.WakeOnLan' } (string list)
linux.subsystem = 'net' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_names = { 'GetSupported',
'GetEnabled', 'SetEnabled' } (string list)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_signatures = { '', '', 'b'
} (string list)
info.category = 'net.80203' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_argnames = { '', '',
'enable' } (string list)
info.capabilities = { 'net', 'net.80203', 'wake_on_lan' } (string list)
org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = {
'hal-system-wol-supported', 'hal-system-wol-enabled',
'hal-system-wol-enable' } (string list)
10: udi = '/org/freedesktop/Hal/devices/net_computer_loopback_0'
net.interface = 'lo' (string)
linux.sysfs_path = '/sys/class/net/lo' (string)
net.address = '00:00:00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 1 (0x1) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 772 (0x304) (int)
info.product = 'Loopback device Interface' (string)
info.udi = '/org/freedesktop/Hal/devices/net_computer_loopback_0'
(string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net.loopback' (string)
info.capabilities = { 'net', 'net.loopback' } (string list)
11: udi = '/org/freedesktop/Hal/devices/computer'
system.formfactor = 'unknown' (string)
power_management.can_suspend_to_ram = false (bool)
org.freedesktop.Hal.Device.SystemPowerManagement.method_argnames = {
'num_seconds_to_sleep', 'num_seconds_to_sleep', '', '', '',
'enable_power_save' } (string list)
power_management.can_suspend_to_disk = false (bool)
org.freedesktop.Hal.Device.SystemPowerManagement.method_execpaths = {
'hal-system-power-suspend', 'hal-system-power-suspend-hybrid',
'hal-system-power-hibernate', 'hal-system-power-shutdown',
'hal-system-power-reboot', 'hal-system-power-set-power-save' } (string list)
info.subsystem = 'unknown' (string)
power_management.quirk.vbe_post = true (bool)
power_management.is_powersave_set = false (bool)
info.product = 'Computer' (string)
power_management.quirk.dpms_on = true (bool)
info.callouts.add = { 'hal-acl-tool --remove-all',
'hal-storage-cleanup-all-mountpoints' } (string list)
info.udi = '/org/freedesktop/Hal/devices/computer' (string)
power_management.quirk.vbestate_restore = true (bool)
info.callouts.session_add = { 'hal-acl-tool --reconfigure' } (string list)
system.kernel.name = 'Linux' (string)
power_management.quirk.vbemode_restore = true (bool)
info.callouts.session_remove = { 'hal-acl-tool --reconfigure' }
(string list)
system.kernel.version = '2.6.22.18-co-0.7.3' (string)
power_management.quirk.dpms_suspend = true (bool)
info.interfaces = { 'org.freedesktop.Hal.Device.SystemPowerManagement'
} (string list)
info.callouts.session_active = { 'hal-acl-tool --reconfigure' }
(string list)
system.kernel.machine = 'i686' (string)
power_management.quirk.vga_mode_3 = true (bool)
info.callouts.session_inactive = { 'hal-acl-tool --reconfigure' }
(string list)
power_management.can_suspend = false (bool)
info.addons = { 'hald-addon-cpufreq' } (string list)
power_management.can_suspend_hybrid = false (bool)
org.freedesktop.Hal.Device.SystemPowerManagement.method_names = {
'Suspend', 'SuspendHybrid', 'Hibernate', 'Shutdown', 'Reboot',
'SetPowerSave' } (string list)
power_management.can_hibernate = false (bool)
org.freedesktop.Hal.Device.SystemPowerManagement.method_signatures = {
'i', 'i', '', '', '', 'b' } (string list)
12: udi = '/org/freedesktop/Hal/devices/net_computer_loopback'
net.interface = 'lo' (string)
linux.sysfs_path = '/sys/class/net/lo' (string)
net.address = '00:00:00:00:00:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 1 (0x1) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 772 (0x304) (int)
info.product = 'Loopback device Interface' (string)
info.udi = '/org/freedesktop/Hal/devices/net_computer_loopback' (string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'net' (string)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
info.category = 'net.loopback' (string)
info.capabilities = { 'net', 'net.loopback' } (string list)
13: udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00'
net.interface = 'eth0' (string)
linux.sysfs_path = '/sys/class/net/eth0' (string)
net.address = '00:ff:d3:da:b0:00' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
net.linux.ifindex = 2 (0x2) (int)
info.subsystem = 'net' (string)
net.arp_proto_hw_id = 1 (0x1) (int)
info.product = 'Networking Interface' (string)
net.80203.mac_address = 1098770984960 (0xffd3dab000) (uint64)
info.udi = '/org/freedesktop/Hal/devices/net_00_ff_d3_da_b0_00' (string)
net.physical_device = '/org/freedesktop/Hal/devices/computer' (string)
linux.hotplug_type = 2 (0x2) (int)
info.interfaces = { 'org.freedesktop.Hal.Device.WakeOnLan' } (string list)
linux.subsystem = 'net' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_names = { 'GetSupported',
'GetEnabled', 'SetEnabled' } (string list)
net.originating_device = '/org/freedesktop/Hal/devices/computer' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_signatures = { '', '', 'b'
} (string list)
info.category = 'net.80203' (string)
org.freedesktop.Hal.Device.WakeOnLan.method_argnames = { '', '',
'enable' } (string list)
info.capabilities = { 'net', 'net.80203', 'wake_on_lan' } (string list)
org.freedesktop.Hal.Device.WakeOnLan.method_execpaths = {
'hal-system-wol-supported', 'hal-system-wol-enabled',
'hal-system-wol-enable' } (string list)
14: udi = '/org/freedesktop/Hal/devices/computer_cokbd_port'
linux.sysfs_path = '/sys/devices/serio0' (string)
info.parent = '/org/freedesktop/Hal/devices/computer' (string)
info.subsystem = 'serio' (string)
info.linux.driver = 'atkbd' (string)
info.product = 'cokbd port' (string)
serio.id = 'serio0' (string)
info.udi = '/org/freedesktop/Hal/devices/computer_cokbd_port' (string)
serio.description = 'cokbd port' (string)
linux.hotplug_type = 2 (0x2) (int)
linux.subsystem = 'serio' (string)
# find /sys/class/net
/sys/class/net
/sys/class/net/sit0
/sys/class/net/sit0/statistics
/sys/class/net/sit0/statistics/tx_compressed
/sys/class/net/sit0/statistics/rx_compressed
/sys/class/net/sit0/statistics/tx_window_errors
/sys/class/net/sit0/statistics/tx_heartbeat_errors
/sys/class/net/sit0/statistics/tx_fifo_errors
/sys/class/net/sit0/statistics/tx_carrier_errors
/sys/class/net/sit0/statistics/tx_aborted_errors
/sys/class/net/sit0/statistics/rx_missed_errors
/sys/class/net/sit0/statistics/rx_fifo_errors
/sys/class/net/sit0/statistics/rx_frame_errors
/sys/class/net/sit0/statistics/rx_crc_errors
/sys/class/net/sit0/statistics/rx_over_errors
/sys/class/net/sit0/statistics/rx_length_errors
/sys/class/net/sit0/statistics/collisions
/sys/class/net/sit0/statistics/multicast
/sys/class/net/sit0/statistics/tx_dropped
/sys/class/net/sit0/statistics/rx_dropped
/sys/class/net/sit0/statistics/tx_errors
/sys/class/net/sit0/statistics/rx_errors
/sys/class/net/sit0/statistics/tx_bytes
/sys/class/net/sit0/statistics/rx_bytes
/sys/class/net/sit0/statistics/tx_packets
/sys/class/net/sit0/statistics/rx_packets
/sys/class/net/sit0/weight
/sys/class/net/sit0/tx_queue_len
/sys/class/net/sit0/flags
/sys/class/net/sit0/mtu
/sys/class/net/sit0/operstate
/sys/class/net/sit0/dormant
/sys/class/net/sit0/carrier
/sys/class/net/sit0/broadcast
/sys/class/net/sit0/address
/sys/class/net/sit0/link_mode
/sys/class/net/sit0/type
/sys/class/net/sit0/features
/sys/class/net/sit0/ifindex
/sys/class/net/sit0/iflink
/sys/class/net/sit0/addr_len
/sys/class/net/sit0/subsystem
/sys/class/net/sit0/uevent
/sys/class/net/eth0
/sys/class/net/eth0/statistics
/sys/class/net/eth0/statistics/tx_compressed
/sys/class/net/eth0/statistics/rx_compressed
/sys/class/net/eth0/statistics/tx_window_errors
/sys/class/net/eth0/statistics/tx_heartbeat_errors
/sys/class/net/eth0/statistics/tx_fifo_errors
/sys/class/net/eth0/statistics/tx_carrier_errors
/sys/class/net/eth0/statistics/tx_aborted_errors
/sys/class/net/eth0/statistics/rx_missed_errors
/sys/class/net/eth0/statistics/rx_fifo_errors
/sys/class/net/eth0/statistics/rx_frame_errors
/sys/class/net/eth0/statistics/rx_crc_errors
/sys/class/net/eth0/statistics/rx_over_errors
/sys/class/net/eth0/statistics/rx_length_errors
/sys/class/net/eth0/statistics/collisions
/sys/class/net/eth0/statistics/multicast
/sys/class/net/eth0/statistics/tx_dropped
/sys/class/net/eth0/statistics/rx_dropped
/sys/class/net/eth0/statistics/tx_errors
/sys/class/net/eth0/statistics/rx_errors
/sys/class/net/eth0/statistics/tx_bytes
/sys/class/net/eth0/statistics/rx_bytes
/sys/class/net/eth0/statistics/tx_packets
/sys/class/net/eth0/statistics/rx_packets
/sys/class/net/eth0/weight
/sys/class/net/eth0/tx_queue_len
/sys/class/net/eth0/flags
/sys/class/net/eth0/mtu
/sys/class/net/eth0/operstate
/sys/class/net/eth0/dormant
/sys/class/net/eth0/carrier
/sys/class/net/eth0/broadcast
/sys/class/net/eth0/address
/sys/class/net/eth0/link_mode
/sys/class/net/eth0/type
/sys/class/net/eth0/features
/sys/class/net/eth0/ifindex
/sys/class/net/eth0/iflink
/sys/class/net/eth0/addr_len
/sys/class/net/eth0/subsystem
/sys/class/net/eth0/uevent
/sys/class/net/lo
/sys/class/net/lo/statistics
/sys/class/net/lo/statistics/tx_compressed
/sys/class/net/lo/statistics/rx_compressed
/sys/class/net/lo/statistics/tx_window_errors
/sys/class/net/lo/statistics/tx_heartbeat_errors
/sys/class/net/lo/statistics/tx_fifo_errors
/sys/class/net/lo/statistics/tx_carrier_errors
/sys/class/net/lo/statistics/tx_aborted_errors
/sys/class/net/lo/statistics/rx_missed_errors
/sys/class/net/lo/statistics/rx_fifo_errors
/sys/class/net/lo/statistics/rx_frame_errors
/sys/class/net/lo/statistics/rx_crc_errors
/sys/class/net/lo/statistics/rx_over_errors
/sys/class/net/lo/statistics/rx_length_errors
/sys/class/net/lo/statistics/collisions
/sys/class/net/lo/statistics/multicast
/sys/class/net/lo/statistics/tx_dropped
/sys/class/net/lo/statistics/rx_dropped
/sys/class/net/lo/statistics/tx_errors
/sys/class/net/lo/statistics/rx_errors
/sys/class/net/lo/statistics/tx_bytes
/sys/class/net/lo/statistics/rx_bytes
/sys/class/net/lo/statistics/tx_packets
/sys/class/net/lo/statistics/rx_packets
/sys/class/net/lo/weight
/sys/class/net/lo/tx_queue_len
/sys/class/net/lo/flags
/sys/class/net/lo/mtu
/sys/class/net/lo/operstate
/sys/class/net/lo/dormant
/sys/class/net/lo/carrier
/sys/class/net/lo/broadcast
/sys/class/net/lo/address
/sys/class/net/lo/link_mode
/sys/class/net/lo/type
/sys/class/net/lo/features
/sys/class/net/lo/ifindex
/sys/class/net/lo/iflink
/sys/class/net/lo/addr_len
/sys/class/net/lo/subsystem
/sys/class/net/lo/uevent
Kay Sievers wrote:
> On Tue, Mar 3, 2009 at 18:48, Dan Williams <dcbw redhat com> wrote:
>
>> On Tue, 2009-03-03 at 18:38 +0100, Kay Sievers wrote:
>>
>>> On Tue, Mar 3, 2009 at 16:21, Dan Williams <dcbw redhat com> wrote:
>>>
>>>> On Tue, 2009-03-03 at 09:54 -0500, Bill C Riemers wrote:
>>>>
>>>>> Currently, NetworkManager ignores any network driver that does not have
>>>>> a loadable module associated with it. This is a problem, when the
>>>>> network driver has been compiled directly into the kernel. This is
>>>>> typically done for coLinux, and other environments where a loadable
>>>>> module network driver is not supported.
>>>>>
>>>>> The following patch marks the driver for such devices as "<kernel>", so
>>>>> that NetworkManager will not ignore them. However, NetworkManager will
>>>>> still ignore network devices which do not have a driver associated with
>>>>> them and is not built-in as part of the kernel.
>>>>>
>>>>> Note: I created this patch on Fedora 10, against the 0.7.0-1 version.
>>>>> Please let me know if I need to do a git checkout and rebuild this patch
>>>>> against the current code base.
>>>>>
>>>> Hmm, I'd like to see what sysfs looks like for these devices; do you
>>>> have a /sys/class/net/ethX/device directory for that device, and if so,
>>>> what's in it?
>>>>
>>> There should be no difference, maybe some "module" link does not exist
>>> if it's built-in, but usually even they are created.
>>>
>>> These days, even /sys/module/ should be identical for modules and
>>> built-in code, besides the "refcount" and the sections "attributes"
>>> which only exist for loadable modules.
>>>
>> Yeah; it used to be the case that drivers wouldn't call the right bits
>> to get the device link which would then provide the driver.
>>
>
> Right, the driver should be determined by finding the first parent
> device which has a "driver" link. The "device" link should not be used
> for anything else than finding the parent device in ancient kernels.
> In modern kernels, all parent devices are part of the devpath of the
> device itself. The position of the device link might change with valid
> kernel changes, when devices need to be inserted into the chain of
> devices.
>
>
>> I'm not
>> convinced the patch is the right way to go until we figure out if the
>> driver is the culprit.
>>
>
> Yeah, the patch does not look right. I would expect the driver does
> not set the right parent device at all.
>
> Kay
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]