| 1 | The Little ORBIT Node Linux Interfacer: |
| 2 | |
| 3 | || How do I get a list of all wireless devices on a node? || {{{find /sys -name wireless -print}}} || |
| 4 | || How do I determine the bus of the wireless device with interface named foo0? || {{{ls -l /sys/class/net/foo0/device/bus | sed -e 's#^.*/\([^/]*\)$#\1#' }}} || |
| 5 | || How do I get the vendor id of a wireless PCI device with interface named foo0? || {{{cat /sys/class/net/foo0/device/vendor}}} || |
| 6 | || How do I get the device id of a wireless PCI device with interface named foo0? || {{{cat /sys/class/net/foo0/device/device}}} || |
| 7 | || How do I get the vendor and device id of a wireless USB device with interface named foo0? || {{{cat /sys/class/net/foo0/device/uevent | grep ^PRODUCT | sed -e '}}}<redacted>{{{'}}} || |
| 8 | || Why is the sed expression redacted? || To spare your sanity. || |
| 9 | || How do I get the MAC address of a wireless device with interface named foo0? || {{{cat /sys/class/net/foo0/address}}} || |
| 10 | || How do I in general query and manipulate the Linux kernel's IP layer? || With {{{ip}}} (hint: {{{-o -f inet}}}). Not with {{{ifconfig}}}. || |
| 11 | || How do I cause a moo without harming a cow? || {{{ip moo}}} || |
| 12 | || If an interface is renamed with {{{ip link set foo0 name bar3}}}, will the above commands still work? || Yes, file names in {{{/sys}}} will change to match the new name, but you will have to re-examine {{{/sys/class/net}}} to pick up changes, and there is no good way to lock against changes from within the kernel. Applications must negotiate changes between themselves. || |
| 13 | || How do I get a list of all hard disks on a node? || {{{find /sys/devices -name block:\*}}} || |
| 14 | || How do I determine the overall capacity of a hard drive XdaN? || {{{cat /sys/block/XdaN/size}}} || |
| 15 | || How do I determine how much physical memory is available? || {{{cat /proc/meminfo | grep MemTotal}}} || |
| 16 | || How do I retrieve the serial number of the motherboard? || {{{dmidecode -s baseboard-serial-number}}} || |
| 17 | || How do I get a list of all cpus on a node? || {{{ls -d /sys/devices/system/cpu/cpu*}}} || |
| 18 | || How do I determine the clock speed of a cpu? || {{{cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq}}} || |
| 19 | || Do the interface as described above work with any baseline image? || No. Use 2007-12-09 or later. || |
| 20 | || Do we have reasonable assurances (!) that the interface as described above will last over the next several incarnations of the Linux wireless stack(s)? || Yes. (!) || |
| 21 | || Is there a tool equivalent to {{{ip}}} for wireless interfaces? || {{{iw}}} is not done yet, but when it is done, use it. || |
| 22 | || Can we replace a lot of that junk with a more general interface to {{{/sys}}}? || Yes, but the important thing is to note the 'contract' that certain files in {{{/sys}}} are sure to exist on baseline images in nodes. || |