Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
wirelessboot [2009/08/11 15:10]
rwcr created
wirelessboot [2009/11/29 12:30]
rwcr wireless_settings.gpxe => wireless.gpxe
Line 4: Line 4:
  
 //**Note:** the contents of this page rely on some features that are not yet present in mainline gPXE, but hopefully they should be there soon.// //**Note:** the contents of this page rely on some features that are not yet present in mainline gPXE, but hopefully they should be there soon.//
 +
 +For the curious, some [[:​wirelessboot:​implementation|implementation details]] are available.
  
 ===== Supported hardware ===== ===== Supported hardware =====
Line 15: Line 17:
  
 Set up your DHCP server as you would for a wired boot, and figure out how you're going to be loading gPXE; for a first test, burning ''​gpxe.iso''​ to a CD is probably the easiest option. Boot into gPXE, and press Ctrl-B to get a shell prompt. Type Set up your DHCP server as you would for a wired boot, and figure out how you're going to be loading gPXE; for a first test, burning ''​gpxe.iso''​ to a CD is probably the easiest option. Boot into gPXE, and press Ctrl-B to get a shell prompt. Type
-  gPXE> ​**iwstat** +  gPXE> iwstat 
-(type only the parts in bold) and you should be given output similar to ''​ifstat''​ about all detected wireless NICs. For example, on my test machine with two wireless and two wired NICs, I get the output+and you should be given output similar to ''​ifstat''​ about all detected wireless NICs. For example, on my test machine with two wireless and two wired NICs, I get the output
   net1: 00:​08:​54:​94:​fe:​cc on PCI00:09.0 (closed)   net1: 00:​08:​54:​94:​fe:​cc on PCI00:09.0 (closed)
     [Link:down, TX:0 TXE:0 RX:0 RXE:0]     [Link:down, TX:0 TXE:0 RX:0 RXE:0]
Line 28: Line 30:
  
 If you did find one or more wireless NICs, you can check which networks each can access: If you did find one or more wireless NICs, you can check which networks each can access:
-  gPXE> ​**iwlist**+  gPXE> iwlist
   Networks on net1:   Networks on net1:
   ​   ​
Line 48: Line 50:
 The output will take a few seconds to show up for each NIC; hopefully the network you want to connect to is in the list! (In my case, the two cards "​see"​ different networks because their antennas are positioned differently.) The number under ''​[Sig]''​ is a dimensionless measure of signal strength. The output will take a few seconds to show up for each NIC; hopefully the network you want to connect to is in the list! (In my case, the two cards "​see"​ different networks because their antennas are positioned differently.) The number under ''​[Sig]''​ is a dimensionless measure of signal strength.
  
-If you've found your network, or even if you haven'​t,​ you can try connecting to it, replacing italicized parts in the following example with your actual ​details: +If you've found your network, or even if you haven'​t,​ you can try connecting to it, adjusting ​details ​as appropriate for your situation
-  gPXE> ​**set net//0///ssid //gPXE//**               [your network name] +  gPXE> set net0/ssid gPXE               [your network name] 
-  gPXE> ​**set net//0///key //seeecret//**            [for WPA-PSK or a WEP key in ASCII] +  gPXE> set net0/key seeecret ​           [for WPA-PSK or a WEP key in ASCII] 
-  gPXE> ​**set net//0///​key:​hex ​//aa:​bb:​cc:​dd:​ee//**  [for a WEP key in hex] +  gPXE> set net0/key:hex aa:​bb:​cc:​dd:​ee ​ [for a WEP key in hex] 
-  gPXE> ​**dhcp net//0//** +  gPXE> dhcp net0 
-  Waiting for link-up on net0... ​//[about a second pause]// ​ok+  Waiting for link-up on net0... ok
   DHCP (net0 00:​08:​54:​94:​fe:​cc).... ok   DHCP (net0 00:​08:​54:​94:​fe:​cc).... ok
  
 On WPA, output like On WPA, output like
-  Waiting for link-up on net0... ​//[about 15 seconds pause]// ​failed: Connection reset (0x0f1f6239)+  Waiting for link-up on net0... failed: Connection reset (0x0f1f6239)
   Could not configure net0: Connection reset (0x0f1f6239)   Could not configure net0: Connection reset (0x0f1f6239)
 suggests that you've specified an incorrect password. suggests that you've specified an incorrect password.
Line 66: Line 68:
   Could not configure net0: Connection timed out (0x4c106035)   Could not configure net0: Connection timed out (0x4c106035)
 suggests the same, especially if ''​iwstat net0''​ shows a line like suggests the same, especially if ''​iwstat net0''​ shows a line like
-  [TXE: 4 x "​Packet decryption error (0x1c1f6602)"​]+  [RXE: 4 x "​Packet decryption error (0x1c1f6602)"​]
  
 For any other error, consult us on the Etherboot-discuss mailing list or the ''#​etherboot''​ IRC channel; especially remember to specify the eight-digit error code(s) beginning with ''​0x''​. For any other error, consult us on the Etherboot-discuss mailing list or the ''#​etherboot''​ IRC channel; especially remember to specify the eight-digit error code(s) beginning with ''​0x''​.
Line 74: Line 76:
 Unlike DHCP on a wired network, connecting to wireless requires that some settings be provided before any network services can be accessed at all. Specifically,​ you need to specify the SSID and encryption key (as above) before you can run DHCP. These are set per network device, and have the gPXE setting names ''​net//​X///​ssid''​ and ''​net//​X///​key''​ respectively,​ where ''//​X//''​ is the number of your network device. Unlike DHCP on a wired network, connecting to wireless requires that some settings be provided before any network services can be accessed at all. Specifically,​ you need to specify the SSID and encryption key (as above) before you can run DHCP. These are set per network device, and have the gPXE setting names ''​net//​X///​ssid''​ and ''​net//​X///​key''​ respectively,​ where ''//​X//''​ is the number of your network device.
  
-Currently no wireless NIC has support for gPXE's NVRAM settings support, but if you have a wired NIC with such support you may be able to use the ''​config''​ command at the gPXE prompt to set the settings permanently. Otherwise, you'll need to create a small gPXE script and embed it. For example, put this in a file named ''​wireless_settings.gpxe'':​+Currently no wireless NIC has support for gPXE's NVRAM settings support, but if you have a wired NIC with such support you may be able to use the ''​config''​ command at the gPXE prompt to set the settings permanently. Otherwise, you'll need to create a small gPXE script and embed it. For example, put this in a file named ''​wireless.gpxe'':​
   #!gpxe   #!gpxe
   set net0/ssid mynetwork   set net0/ssid mynetwork
   set net0/key seeecret   set net0/key seeecret
   autoboot   autoboot
-Compile gPXE with ''​EMBEDDED_IMAGE=wireless_settings.gpxe''​ on your ''​make''​ command line, and boot it; it should boot off the wireless network automatically.+Compile gPXE with ''​EMBEDDED_IMAGE=wireless.gpxe''​ on your ''​make''​ command line, and boot it; it should boot off the wireless network automatically.
  
 Congratulations on successfully booting gPXE over wireless! Congratulations on successfully booting gPXE over wireless!
Line 86: Line 88:
  
 Unfortunately,​ to the best of our knowledge there is no wireless NIC with an onboard EEPROM or a socket for a ROM. As such, if you want truly diskless booting, you'll need to use a wired NIC as a ROM carrier. Since wireless ROM images tend to get rather large, an Intel e1000 NIC is ideal; it's easy to flash and has a 128kB EEPROM built-in. Compile your ROM like Unfortunately,​ to the best of our knowledge there is no wireless NIC with an onboard EEPROM or a socket for a ROM. As such, if you want truly diskless booting, you'll need to use a wired NIC as a ROM carrier. Since wireless ROM images tend to get rather large, an Intel e1000 NIC is ideal; it's easy to flash and has a 128kB EEPROM built-in. Compile your ROM like
-  % **make bin/​ath5k.rom EMBEDDED_IMAGE=wireless_settings.gpxe** +  % make bin/​ath5k.rom EMBEDDED_IMAGE=wireless_settings.gpxe 
-  % **./​util/​modrom.pl -p 0x8086,​0x107c bin/​ath5k.rom**  ​[replace with PCI IDs of your ROM-carrier NIC]+  % ./​util/​modrom.pl -p 0x8086,​0x107c bin/​ath5k.rom ​  ​[replace with PCI IDs of your ROM-carrier NIC]
 and burn ''​bin/​ath5k.rom''​ onto your ROM-carrier NIC. and burn ''​bin/​ath5k.rom''​ onto your ROM-carrier NIC.
  

QR Code
QR Code wirelessboot (generated for current page)