lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4847BEA7.4050403@tqs.de>
Date:	Thu, 05 Jun 2008 12:23:35 +0200
From:	Jens Gehrlein <sew_s@....de>
To:	Steve.Glendinning@...c.com
CC:	netdev@...r.kernel.org
Subject: Re: [Uclinux-dist-devel] [PATCH 01/01] smsc911x: fix MAC addresssetting
 after reset

Hi Steve,

Steve.Glendinning@...c.com schrieb:
> Hi Jens,
> 
>> Sorry. Newbie question:
>> How can I pass the MAC address via kernel command line for this driver? 
>> Is there a predefined parameter?
>> My problem is:
>> U-Boot resets the chip after each completed transfer. Wolfgang Denk 
>> suggested to pass the MAC address via kernel command line. I need the 
>> ethernet device at kernel startup to mount a root filesystem via NFS, so 
> 
>> I added the platform device in my board specific code as shown below (it 
> 
>> still relates to the old driver).
>> Should I patch the driver directly to get the MAC address via __setup()
>> or can I pass the MAC address via the device structures.
>>
>> What do you suggest?
> 
> The smsc911x driver accepts mac addresses set "by configuration", so if 
> brought up after boot you could assign the mac address like this:
> 
> ifconfig eth0 hw ether 00:11:22:33:44:55 up
> 
> But as you're using an NFS root, you need to assign the mac address during 
> boot.  I'm not sure of the best way to do this, there isn't currently a 
> dev_addr field in smsc911x_platform_config, but you could add one.
> 
> Alternatively, if the bootloader already sets the mac address you could 
> modify the driver to read it off the device (into dev->dev_addr) before 
> resetting it?

My hope was, that U-Boot leaves the MAC address in the controller's 
register, but it resets the chip. We don't have an EEPROM connected to 
the controller. Unfortunately, ARM Linux doesn't provide board info 
structures or flat device tree like PowerPC Linux to pass data from the 
bootloader to the Kernel.

Additionally, I didn't succeed in compiling your new driver with Kernel 
2.6.22, because the Kernel API changed, and I can't switch to a new 
kernel. So I'm creating a private patch: getting the the MAC address 
from private kernel commmand line parameter using __setup().

However, as a suggestion for improvement of your new driver: could you 
extend the code, so that the board specific code could pass the MAC 
address via "struct platform_device", e.g. using the struct member .dev? 
Like using ifconfig it would allow multiple instances and the board 
specific code can take care, where it get the MAC addresses from.

Best regards,
Jens
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ