|
Bugzilla – Full Text Bug Listing |
| Summary: | new hwinfo ps3 network code | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 11.0 | Reporter: | Stefan Assmann <sassmann> |
| Component: | Installation | Assignee: | Steffen Winterfeldt <snwint> |
| Status: | RESOLVED FIXED | QA Contact: | Jiri Srain <jsrain> |
| Severity: | Normal | ||
| Priority: | P5 - None | ||
| Version: | Alpha 2plus | ||
| Target Milestone: | --- | ||
| Hardware: | Other | ||
| OS: | Other | ||
| Whiteboard: | |||
| Found By: | --- | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
hwinfo.new-ps3-network-code.patch
goumi.tar.gz hwinfo.new-ps3-network-code.patch reworked patch |
||
|
Description
Stefan Assmann
2008-03-14 08:28:38 UTC
Created attachment 201650 [details]
hwinfo.new-ps3-network-code.patch
a)
sf_eth_name = new_str(hd_read_sysfs_link(sf_eth_name, sf_eth_dev_e->str));
if ( access(sf_eth_name, F_OK) ) {
Why access()? Do you suggest there could be dangling symlinks in sysfs?
b)
Also, assigning a interface via
hd->unix_dev_name = ...
is not (or rather should not) be necessary. Doesn't it work without?
The idea is that libhd automatically assigns it when it goes through
the network interfaces. If that doesn't work, you won't make yast
happy anyway, as the hardware address gets assigned the same way.
c)
Assigning it a wireless class explicitly is not exactly necessary
as well (but doesn't hurt). The wlan code looks at all network cards
anyway and yast does rely on the wlan features that code detects.
a)
the only difference between wireless and ethernet in sysfs is the existence of the directory wireless, so I check for the existence with access()
b)
no it didn't work without. I guess it is because ethernet gets both devices assigned (Device Files: eth0, wlan0), leaving nothing for wireless. Maybe you know how to solve this. I'll post hwinfo --netcard
hwinfo --netcard
05: ? 00.0: 0200 Ethernet controller
[Created at pci.971]
UDI: /org/freedesktop/Hal/devices/ps3_system_bus_sb_04
Unique ID: wTkO.l_FMYCmBglB
SysFS ID: /devices/ps3_system/sb_04
SysFS BusID: sb_04
Hardware Class: network
Model: "Sony PS3 Ethernet card 0"
Vendor: pci 0x104d "Sony Corporation"
Device: int 0x1003 "PS3 Ethernet card 0"
Driver: "ps3_gelic_driver"
Driver Modules: "ps3_gelic"
Device File: eth0
Device Files: eth0, wlan0
HW Address: 00:19:c5:5c:c2:7f
Link detected: yes
Module Alias: "ps3:3"
Driver Info #0:
Driver Status: ps3_gelic is active
Driver Activation Cmd: "modprobe ps3_gelic"
Config Status: cfg=no, avail=yes, need=no, active=unknown
06: ? 00.0: 0282 WLAN controller
[Created at pci.971]
Unique ID: wTkO.Xc8iFAjhis5
SysFS ID: /devices/ps3_system/sb_04
SysFS BusID: sb_04
Hardware Class: network
Model: "Sony PS3 Wireless card 0"
Vendor: pci 0x104d "Sony Corporation"
Device: int 0x1003 "PS3 Wireless card 0"
Driver: "ps3_gelic_driver"
Driver Modules: "ps3_gelic"
Device File: wlan0 <---- this is empty if not hardcoded
Features: WLAN
WLAN channels: 1 2 3 4 5 6 7 8 9 10 11 12 13
WLAN frequencies: 2.412 2.417 2.422 2.427 2.432 2.437 2.442 2.447 2.452 2.457 2.462 2.467 2.472
WLAN bitrates: 1 2 5.5 11 6 9 12 18 24 36 48 54
WLAN encryption modes: WEP40 WEP104 WEP256 TKIP CCMP
WLAN authentication modes: open sharedkey wpa-psk wpa-eap
Module Alias: "ps3:3"
Driver Info #0:
Driver Status: ps3_gelic is active
Driver Activation Cmd: "modprobe ps3_gelic"
Config Status: cfg=no, avail=yes, need=no, active=unknown
c)
Ok I'll take that out and check, I've seen it somewhere in the other code.
sysfs entry looks like this ls /sys/bus/ps3_system_bus/devices/sb_04/net/eth0/ address carrier features iflink operstate tx_queue_len addr_len device flags link_mode statistics type broadcast dormant ifindex mtu subsystem uevent ls /sys/bus/ps3_system_bus/devices/sb_04/net/wlan0/ address carrier features iflink operstate tx_queue_len wireless addr_len device flags link_mode statistics type broadcast dormant ifindex mtu subsystem uevent a) But you don't do that. You read the link and then check if the link points somewhere. That's always true because all symlinks are valid in sysfs. Can you run 'getsysinfo' and attach the tar file? Created attachment 202521 [details]
goumi.tar.gz
The problem is that both interfaces link to the same device. Tricky. Created attachment 202572 [details] hwinfo.new-ps3-network-code.patch you were perfectly right about a) I adjusted the patch to check for the wireless dir. hd_read_sysfs_link checks if the path exists so no need to use access(). I've also commented out hd->unix_dev_name = new_str(sf_eth_dev_e->str); hwinfo --netcard now shows > pci.6: 05: ? 00.0: 0200 Ethernet controller [Created at pci.970] UDI: /org/freedesktop/Hal/devices/ps3_system_bus_sb_04 Unique ID: wTkO.l_FMYCmBglB SysFS ID: /devices/ps3_system/sb_04 SysFS BusID: sb_04 Hardware Class: network Model: "Sony PS3 Ethernet card 0" Vendor: pci 0x104d "Sony Corporation" Device: int 0x1003 "PS3 Ethernet card 0" Driver: "ps3_gelic_driver" Driver Modules: "ps3_gelic" Device File: eth0 Device Files: eth0, wlan0 HW Address: 00:19:c5:5c:c2:7f Link detected: yes Module Alias: "ps3:3" Driver Info #0: Driver Status: ps3_gelic is active Driver Activation Cmd: "modprobe ps3_gelic" Config Status: cfg=no, avail=yes, need=no, active=unknown 06: ? 00.0: 0282 WLAN controller [Created at pci.970] Unique ID: wTkO.Xc8iFAjhis5 SysFS ID: /devices/ps3_system/sb_04 SysFS BusID: sb_04 Hardware Class: network Model: "Sony PS3 Wireless card 0" Vendor: pci 0x104d "Sony Corporation" Device: int 0x1003 "PS3 Wireless card 0" Driver: "ps3_gelic_driver" Driver Modules: "ps3_gelic" Module Alias: "ps3:3" Driver Info #0: Driver Status: ps3_gelic is active Driver Activation Cmd: "modprobe ps3_gelic" Config Status: cfg=no, avail=yes, need=no, active=unknown BTW, both eth0 & wlan0 have the same MAC address. Won't that cause problems later in yast? Created attachment 202610 [details]
reworked patch
Please try this patch. Seems to work now.
Works! Thanks, I'm not sure if it will workout all right in yast, that's what I need to find out now ;-) Sharing of the same mac address is unfortunate but it can't be helped due to hardware limitations. Ok, the patch is already submitted; reopen, if something more needs to be done. testing with Alpha 3 and hwinfo detects a new controller which obviously is not present hwinfo --netcard [...] 09: None 00.0: 0200 Ethernet controller [Created at pci.776] Unique ID: px6Q.Cfyx6TLvhyD SysFS ID: /devices/platform/mv643xx_eth.0 SysFS BusID: mv643xx_eth.0 Hardware Class: network Model: "Marvell MV88SE614x SATA II PCI-E controller" Vendor: pci 0x11ab "Marvell Technology Group Ltd." Device: pci 0x11ab "MV88SE614x SATA II PCI-E controller" Module Alias: "platform:bluetooth" Config Status: cfg=no, avail=yes, need=no, active=unknown If you mean you used the very latest hwinfo (which is not part of alpha3), this might be because of bug 359867. that's quite possible, Alpha3 on ppc was build from an old source so it got reproduced from a slightly never version that the other alpha 3 architecture builds. Should I try with the latest and greatest version? :) No, you _were_ using the latest & greatest. That's the problem. Maybe you could check with olh; he did the mv643xx-Patch that's causing comment 13. olh says we're working on it :) could work now, please give it a try |