[ipxe-devel] Flash Atheros L1E NIC?

Robin Smidsrød robin at smidsrod.no
Sat Nov 3 22:35:04 UTC 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Andrew,

I just checked if the ATL1E was supported, and I was surprised to see
that it was:

$ src/util/niclist.pl --format csv | grep -i 1969
Building iPXE NIC list from current directory...
Fetching http://pciids.sourceforge.net/v2.2/pci.ids into /tmp/pci.ids...
Building PCI ID map...
Merging 'official' vendor/device names...
Sorting NIC list by: bus, ipxe_driver, ipxe_name
Formatting NIC list in format 'csv' with columns: bus, vendor_id,
device_id, vendor_name, device_name, ipxe_driver, ipxe_name,
ipxe_description, file, legacy_api
pci,1969,1026,"Atheros Communications Inc.","AR8121/AR8113/AR8114
Gigabit or Fast Ethernet",atl1e,atl1e_26,"Attansic L1E
0x1026",src/drivers/net/atl1e.c,no
pci,1969,1066,"Atheros Communications Inc.","Attansic L2c Gigabit
Ethernet",atl1e,atl1e_66,"Attansic L1E 0x1066",src/drivers/net/atl1e.c,no

That does indeed seem to indicate that the atl1e should be supported.
I would suggest you try to use the native driver by booting a USB
stick before you try and burn it into your NIC's ROM.

Doing the same check for your wireless adapter yields positive results:

$ src/util/niclist.pl --format csv | grep -i 001c
Building iPXE NIC list from current directory...
Building PCI ID map...
Merging 'official' vendor/device names...
Sorting NIC list by: bus, ipxe_driver, ipxe_name
Formatting NIC list in format 'csv' with columns: bus, vendor_id,
device_id, vendor_name, device_name, ipxe_driver, ipxe_name,
ipxe_description, file, legacy_api
pci,168c,001c,"Atheros Communications Inc.","AR242x / AR542x Wireless
Network Adapter (PCI-Express)",ath5k,ath5212e,"Atheros 5212
PCI-E",src/drivers/net/ath/ath5k/ath5k.c,no

You could try to make bin/19691026--ath5k.rom EMBED=wifi-init.ipxe and
burn that to your NICs ROM to have support for both devices. Just be
aware that you'd need to make a custom ipxe script to init the SSID
before you open the interface and issue the dhcp request. I can't
exactly remember the syntax, but someone else might be able to chime
in with that. You'll probably have to strip the binary down to the
bare minimum to be able to burn both a lan and wlan driver into a
ROM-suitable size (usually < 64KB).

Good luck!

- -- Robin


On 03.11.2012 23:14, Andrew Savchenko wrote:
> Hello,
> 
> I would like to know if it is possible to install iPXE on Atheros
> L1E NIC. Though I can't find anything on the web or manufacturer's 
> website.
> 
> # lspci -s 03:00 -vvvn 03:00.0 0200: 1969:1026 (rev b0) Subsystem:
> 1043:8324 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV-
> VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+ Status: Cap+
> 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort-
> >SERR- <PERR- INTx- Latency: 0, Cache Line Size: 32 bytes 
> Interrupt: pin A routed to IRQ 45 Region 0: Memory at fbfc0000
> (64-bit, non-prefetchable) [size=256K] Region 2: I/O ports at ec00
> [size=128] Capabilities: [40] Power Management version 2 Flags:
> PMEClk- DSI- D1- D2- AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst- PME-Enable-
> DSel=0 DScale=0 PME- Capabilities: [48] MSI: Enable+ Count=1/1
> Maskable- 64bit+ Address: 00000000fee0300c  Data: 41da 
> Capabilities: [58] Express (v1) Endpoint, MSI 00 DevCap: MaxPayload
> 4096 bytes, PhantFunc 0, Latency L0s <4us, L1 unlimited ExtTag-
> AttnBtn+ AttnInd+ PwrInd+ RBE- FLReset- DevCtl: Report errors:
> Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd- ExtTag-
> PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes, MaxReadReq 512
> bytes DevSta: CorrErr- UncorrErr+ FatalErr- UnsuppReq+ AuxPwr+
> TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width x1, ASPM L0s,
> Latency L0 unlimited, L1 unlimited ClockPM- Surprise- LLActRep-
> BwNot- LnkCtl: ASPM Disabled; RCB 64 bytes Disabled- Retrain-
> CommClk+ ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- LnkSta:
> Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive- BWMgmt-
> ABWMgmt- Capabilities: [6c] Vital Product Data Unknown small
> resource type 0b, will not decode more. Capabilities: [100 v1]
> Advanced Error Reporting UESta:  DLP- SDES- TLP- FCP- CmpltTO-
> CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq+ ACSViol- UEMsk:
> DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP-
> ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES- TLP- FCP+ CmpltTO-
> CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta:
> RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- CEMsk:
> RxErr- BadTLP- BadDLLP- Rollover- Timeout- NonFatalErr- AERCap:
> First Error Pointer: 14, GenCap+ CGenEn- ChkCap+ ChkEn- 
> Capabilities: [180 v1] Device Serial Number
> ff-xx-xx-xx-xx-xx-xx-ff Kernel driver in use: ATL1E
> 
> Alternatively I can try to flash iPXE onto AR242x / AR542x
> Wireless network controller, but I'm not aware of any flashable
> wireless adapters.
> 
> # lspci -s 01:00 -vvvn 01:00.0 0200: 168c:001c (rev 01) Subsystem:
> 1a3b:1026 Physical Slot: eeepc-wifi Control: I/O- Mem+ BusMaster+
> SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast
> >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 0, Cache
> Line Size: 64 bytes Interrupt: pin A routed to IRQ 19 Region 0:
> Memory at f8000000 (64-bit, non-prefetchable) [size=64K] 
> Capabilities: [40] Power Management version 2 Flags: PMEClk- DSI-
> D1- D2- AuxCurrent=375mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0
> NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- Capabilities: [50] MSI:
> Enable- Count=1/1 Maskable- 64bit- Address: 00000000  Data: 0000 
> Capabilities: [60] Express (v1) Legacy Endpoint, MSI 00 DevCap:
> MaxPayload 128 bytes, PhantFunc 0, Latency L0s <512ns, L1 <64us 
> ExtTag- AttnBtn- AttnInd- PwrInd- RBE- FLReset- DevCtl: Report
> errors: Correctable- Non-Fatal- Fatal- Unsupported- RlxdOrd+
> ExtTag- PhantFunc- AuxPwr- NoSnoop- MaxPayload 128 bytes,
> MaxReadReq 512 bytes DevSta: CorrErr- UncorrErr- FatalErr-
> UnsuppReq- AuxPwr- TransPend- LnkCap: Port #0, Speed 2.5GT/s, Width
> x1, ASPM L0s L1, Latency L0 <512ns, L1 <64us ClockPM- Surprise-
> LLActRep- BwNot- LnkCtl: ASPM Disabled; RCB 128 bytes Disabled-
> Retrain- CommClk- ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt- 
> LnkSta: Speed 2.5GT/s, Width x1, TrErr- Train- SlotClk+ DLActive-
> BWMgmt- ABWMgmt- Capabilities: [90] MSI-X: Enable- Count=1 Masked- 
> Vector table: BAR=0 offset=00000000 PBA: BAR=0 offset=00000000 
> Capabilities: [100 v1] Advanced Error Reporting UESta:  DLP- SDES-
> TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC-
> UnsupReq- ACSViol- UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
> UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+
> SDES- TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC-
> UnsupReq- ACSViol- CESta:  RxErr- BadTLP- BadDLLP- Rollover-
> Timeout- NonFatalErr- CEMsk:  RxErr- BadTLP- BadDLLP- Rollover-
> Timeout- NonFatalErr- AERCap: First Error Pointer: 00, GenCap+
> CGenEn- ChkCap+ ChkEn- Capabilities: [140 v1] Virtual Channel Caps:
> LPEVC=0 RefClk=100ns PATEntryBits=1 Arb:    Fixed- WRR32- WRR64-
> WRR128- Ctrl:   ArbSelect=Fixed Status: InProgress- VC0:    Caps:
> PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb:    Fixed- WRR32-
> WRR64- WRR128- TWRR128- WRR256- Ctrl:   Enable+ ID=0
> ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Kernel
> driver in use: ath5k
> 
> 
> Best regards, Andrew Savchenko
> 
> 
> 
> _______________________________________________ ipxe-devel mailing
> list ipxe-devel at lists.ipxe.org 
> https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel
> 

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://www.enigmail.net/

iEYEARECAAYFAlCVnBgACgkQHAwEVD/in27iTACeOqZSrN1Feck02jrsAGLoP1jd
v2YAnRw0i7qVln4diHNV+XaNBbYt69yT
=GVTm
-----END PGP SIGNATURE-----



More information about the ipxe-devel mailing list