mirror of
https://github.com/femtofox/femtofox.git
synced 2026-10-26 02:49:05 -04:00
Merge branch 'main' of https://github.com/noon92/femtofox
This commit is contained in:
commit
8eb19fd9a0
3 changed files with 241 additions and 999 deletions
255
README.md
255
README.md
|
|
@ -1,183 +1,78 @@
|
|||
---
|
||||
|
||||
|
||||
---
|
||||
|
||||
<img src="https://github.com/noon92/luckfox/blob/main/luckfox_pico_mini_tiny_linux_board.jpg" width="400">
|
||||
<h1 id="femtofox----subsubthe-tiny-low-power-linux-meshtastic-node">Femtofox <sub><sub>The tiny, low power Linux Meshtastic node</sub></sub></h1>
|
||||
<h4 id="the-luckfox-pico-mini-is-a-compact-and-power-efficient-linux-capable-board-capable-of-running-ubuntu.-femtofox-is-an-expansion-of-the-luckfoxs-capabilities-combining-a-customized-ubuntu-image-with-a-custom-pcb-integrating-it-with-a-lora-radio-to-create-a-power-efficient-cheap-and-small-meshtastic-linux-node.">The Luckfox Pico Mini is a compact and power efficient Linux capable board, capable of running Ubuntu. Femtofox is an expansion of the Luckfox’s capabilities, combining a customized Ubuntu image with a custom PCB, integrating it with a LoRa radio to create a power efficient, cheap and small Meshtastic Linux node.</h4>
|
||||
<p><strong>Features:</strong></p>
|
||||
<ul>
|
||||
<li>Tiny size (63x54mm for the Kitchen Sink Edition, 65x30mm for the Smol Edition). Roughly equivalent to a Raspberry Pi and Pi Zero.</li>
|
||||
<li>Power efficiency (~0.38w)</li>
|
||||
<li>Full Linux CLI (Ubuntu) via our pre-built Foxbuntu image</li>
|
||||
<li>Meshtastic native client support via SPI</li>
|
||||
<li>USB host support</li>
|
||||
<li>Wifi over USB</li>
|
||||
<li>RTC support</li>
|
||||
</ul>
|
||||
<p><strong>Accomplished:</strong></p>
|
||||
<ul>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Meshtastic native client controlling a LoRa radio (see <a href="supported_hardware.md">supported hardware</a>)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> WIFI over USB (see <a href="supported_hardware.md">supported hardware</a>)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Ethernet over USB (see <a href="supported_hardware.md">supported hardware</a>)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Ethernet over pins (see <em>Networking</em> below and wiring diagram at bottom of page)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> UART communications with Meshtastic nodes (2 pin pairs) such as RAK Wisblock</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> USB serial communications with Meshtastic nodes (see <a href="supported_hardware.md">supported hardware</a>)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> USB mass storage</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Real time clock (RTC) support (see <a href="supported_hardware.md">supported hardware</a>)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Activity LED disabled. User LED will blink for 5 seconds when boot is complete</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Pressing the “BOOT” button triggers reboot</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Ability to reconfigure wifi via USB flash drive</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Meshtasticd to run LoRa radio over SPI (accomplished, updated image and instructions coming soon)</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Allow editing of config files by plugging in thumb drive</li>
|
||||
<li class="task-list-item"><input type="checkbox" class="task-list-item-checkbox" checked="true" disabled=""> Ability to activate or deactivate WIFI via Meshtastic admin</li>
|
||||
</ul>
|
||||
<p><strong>Project goals:</strong></p>
|
||||
<ul>
|
||||
<li>A solar-deployable Meshtastic node running Linux, without needing a giant solar panel / battery</li>
|
||||
<li>Wifi capabilities (with ability to disable/enable wifi via mesh for power savings)</li>
|
||||
</ul>
|
||||
<p>Login for the images is <code>femto:fox</code>. Root is <code>root:root</code>.</p>
|
||||
<p>The preconfigured images will reboot every 24 hours. If the internal clock is accurate, this will be at 3am. Reboot timing is set in <code>crontab</code>. To keep accurate time, an RTC module can be installed (see <a href="supported_hardware.md">supported hardware</a>) or internet connectivity can be maintained for NTP. If no authoritative time source is found, time will be set to 2024-01-01 00:00 on boot.</p>
|
||||
<h3 id="supported-hardware---click-here"><a href="supported_hardware.md">Supported hardware - click here</a></h3>
|
||||
<h3 id="networking">Networking:</h3>
|
||||
<p>There are four methods to get online:</p>
|
||||
<ol>
|
||||
<li>Ethernet over USB - most adapters should be supported, but I’ve only tested the RTL8152 chipset.</li>
|
||||
<li>USB wifi (see <a href="supported_hardware.md">supported hardware</a>).</li>
|
||||
<li>Preconfigured Ubuntu images: ethernet via the castellated pins at the bottom of the board. See pinout at the bottom of this readme.</li>
|
||||
<li>RDNIS via usb - <a href="https://web.archive.org/web/20241006173648/https://wiki.luckfox.com/Luckfox-Pico/Luckfox-Pico-Network-Sharing-1/">see this guide</a>. Note that in the preconfigured images USB is set to host mode, so you’ll have to switch back to peripheral with <code>sudo luckfox-config</code>. This is not really recommended, but can be used in a pinch.</li>
|
||||
</ol>
|
||||
<h3 id="installation---connection-to-meshtastic-node-via-uart-or-usb">Installation - connection to Meshtastic node via UART or USB:</h3>
|
||||
<ol>
|
||||
<li>Download the most recent OS image in <a href="https://github.com/noon92/femtofox/releases">releases</a>.</li>
|
||||
<li>Flash the image your MicroSD card using <a href="https://etcher.balena.io/">Balena Etcher</a> or your favorite flashing program. You will likely get a warning that the image appears to be invalid or has no partition table. This is normal.</li>
|
||||
<li>Insert the microSD card into the Luckfox Pico Mini.</li>
|
||||
<li>Configure the system with a USB drive as described in <a href="usb_config.md">USB Configuration Tool</a>.</li>
|
||||
</ol>
|
||||
<h3 id="pinout">Pinout:</h3>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Pin #</th>
|
||||
<th>Pin ID</th>
|
||||
<th>Function</th>
|
||||
<th>Luckfox</th>
|
||||
<th>Pin #</th>
|
||||
<th>Pin ID</th>
|
||||
<th>Function</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>VBus</td>
|
||||
<td>5V in/out</td>
|
||||
<td></td>
|
||||
<td>22</td>
|
||||
<td>1V8</td>
|
||||
<td>1.8V out</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>2</td>
|
||||
<td>GND</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>21</td>
|
||||
<td>GND</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>3</td>
|
||||
<td>3V3</td>
|
||||
<td>3.3V out</td>
|
||||
<td></td>
|
||||
<td>20</td>
|
||||
<td>4C1</td>
|
||||
<td>1v8 IO, SARADC</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>4/42</td>
|
||||
<td>1B2</td>
|
||||
<td>Debug UART2-TX</td>
|
||||
<td></td>
|
||||
<td>19</td>
|
||||
<td>4C0</td>
|
||||
<td>1v8 IO, SARADC</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>5/43</td>
|
||||
<td>1B3</td>
|
||||
<td>Debug UART2-RX</td>
|
||||
<td></td>
|
||||
<td>18/4</td>
|
||||
<td>0A4</td>
|
||||
<td>3v3 IO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>6/48</td>
|
||||
<td>1C0</td>
|
||||
<td>CS0, IO</td>
|
||||
<td></td>
|
||||
<td>17/55</td>
|
||||
<td>1C7</td>
|
||||
<td>IRQ, IO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>7/49</td>
|
||||
<td>1C1</td>
|
||||
<td>CLK, IO</td>
|
||||
<td></td>
|
||||
<td>16/54</td>
|
||||
<td>1C6</td>
|
||||
<td>BUSY, IO</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>8/50</td>
|
||||
<td>1C2</td>
|
||||
<td>MOSI, IO</td>
|
||||
<td></td>
|
||||
<td>15/59</td>
|
||||
<td>1D3</td>
|
||||
<td>i2c SCL</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>9/51</td>
|
||||
<td>1C3</td>
|
||||
<td>MISO, IO</td>
|
||||
<td></td>
|
||||
<td>14/58</td>
|
||||
<td>1D2</td>
|
||||
<td>i2c SDA</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>10/52</td>
|
||||
<td>1C4</td>
|
||||
<td>UART4-TX</td>
|
||||
<td></td>
|
||||
<td>13/57</td>
|
||||
<td>1D1</td>
|
||||
<td>UART3-RX, NRST</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11/53</td>
|
||||
<td>1C5</td>
|
||||
<td>UART4-RX</td>
|
||||
<td></td>
|
||||
<td>12/56</td>
|
||||
<td>1D0</td>
|
||||
<td>UART3-TX, RXEN</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><p>Pin ID explanation: <strong>1C6</strong> = GPIO bank <strong>1</strong>, group <strong>C</strong>, pin <strong>6</strong>.<br>
|
||||
In Meshtasticd’s config.yaml we use GPIO bank 1, and subtract 32 from the pin number.</p>
|
||||
<p><img src="https://github.com/noon92/luckfox/blob/main/luckfox_pinout.png" alt="pinout"><br>
|
||||
<img src="https://github.com/noon92/luckfox/blob/main/luckfox_pico_mini_original_wiring_diagram.jpg" alt="pinout"></p>
|
||||
<blockquote>
|
||||
<p>[!NOTE]<br>
|
||||
The information on this page is given without warranty or guarantee. Links to vendors of products are for informational purposes only.<br>
|
||||
Meshtastic® is a registered trademark of Meshtastic LLC. Meshtastic software components are released under various licenses, see GitHub for details. No warranty is provided - use at your own risk.</p>
|
||||
</blockquote>
|
||||
# Femtofox <sub><sub>The tiny, low power Linux Meshtastic node
|
||||
#### The Luckfox Pico Mini is a compact and power efficient Linux capable board, capable of running Ubuntu. Femtofox is an expansion of the Luckfox's capabilities, combining a customized Ubuntu image with a custom PCB, integrating it with a LoRa radio to create a power efficient, cheap and small Meshtastic Linux node.
|
||||
|
||||
**Features:**
|
||||
* Tiny size (63x54mm for the Kitchen Sink Edition, 65x30mm for the Smol Edition). Roughly equivalent to a Raspberry Pi and Pi Zero.
|
||||
* Power efficiency (~0.38w)
|
||||
* Full Linux CLI (Ubuntu) via our pre-built Foxbuntu image
|
||||
* Meshtastic native client support via SPI
|
||||
* USB host support
|
||||
* Wifi over USB
|
||||
* RTC support
|
||||
|
||||
**Accomplished:**
|
||||
- [x] Meshtastic native client controlling a LoRa radio (see [supported hardware](supported_hardware.md))
|
||||
- [x] WIFI over USB (see [supported hardware](supported_hardware.md))
|
||||
- [x] Ethernet over USB (see [supported hardware](supported_hardware.md))
|
||||
- [x] Ethernet over pins (see *Networking* below and wiring diagram at bottom of page)
|
||||
- [x] UART communications with Meshtastic nodes (2 pin pairs) such as RAK Wisblock
|
||||
- [x] USB serial communications with Meshtastic nodes (see [supported hardware](supported_hardware.md))
|
||||
- [x] USB mass storage
|
||||
- [x] Real time clock (RTC) support (see [supported hardware](supported_hardware.md))
|
||||
- [x] Activity LED disabled. User LED will blink for 5 seconds when boot is complete
|
||||
- [x] Pressing the "BOOT" button triggers reboot
|
||||
- [x] Ability to reconfigure wifi via USB flash drive
|
||||
- [x] Meshtasticd to run LoRa radio over SPI (accomplished, updated image and instructions coming soon)
|
||||
- [x] Allow editing of config files by plugging in thumb drive
|
||||
- [x] Ability to activate or deactivate WIFI via Meshtastic admin
|
||||
|
||||
**Project goals:**
|
||||
* A solar-deployable Meshtastic node running Linux, without needing a giant solar panel / battery
|
||||
* Wifi capabilities (with ability to disable/enable wifi via mesh for power savings)
|
||||
|
||||
Login for the images is `femto:fox`. Root is `root:root`.
|
||||
|
||||
The preconfigured images will reboot every 24 hours. If the internal clock is accurate, this will be at 3am. Reboot timing is set in `crontab`. To keep accurate time, an RTC module can be installed (see [supported hardware](supported_hardware.md)) or internet connectivity can be maintained for NTP. If no authoritative time source is found, time will be set to 2024-01-01 00:00 on boot.
|
||||
|
||||
### [Supported hardware - click here](supported_hardware.md)
|
||||
|
||||
### Networking:
|
||||
There are four methods to get online:
|
||||
1. Ethernet over USB - most adapters should be supported, but I've only tested the RTL8152 chipset.
|
||||
2. USB wifi (see [supported hardware](supported_hardware.md)).
|
||||
3. Preconfigured Ubuntu images: ethernet via the castellated pins at the bottom of the board. See pinout at the bottom of this readme.
|
||||
4. RDNIS via usb - [see this guide](https://web.archive.org/web/20241006173648/https://wiki.luckfox.com/Luckfox-Pico/Luckfox-Pico-Network-Sharing-1/). Note that in the preconfigured images USB is set to host mode, so you'll have to switch back to peripheral with `sudo luckfox-config`. This is not really recommended, but can be used in a pinch.
|
||||
|
||||
### Installation - connection to Meshtastic node via UART or USB:
|
||||
|
||||
1. Download the most recent OS image in [releases](https://github.com/noon92/femtofox/releases).
|
||||
2. Flash the image your MicroSD card using [Balena Etcher](https://etcher.balena.io/) or your favorite flashing program. You will likely get a warning that the image appears to be invalid or has no partition table. This is normal.
|
||||
3. Insert the microSD card into the Luckfox Pico Mini.
|
||||
4. Configure the system with a USB drive as described in [USB Configuration Tool](usb_config.md).
|
||||
|
||||
### Pinout:
|
||||
|Pin #|Pin ID |Function |Luckfox |Pin #|Pin ID |Function |
|
||||
|-----|-------|--------------|--------|-----|-------|--------------|
|
||||
|1 |VBus |5V in/out | |22 |1V8 |1.8V out |
|
||||
|2 |GND | | |21 |GND | |
|
||||
|3 |3V3 |3.3V out | |20 |4C1 |1v8 IO, SARADC|
|
||||
|4/42 |1B2 |Debug UART2-TX| |19 |4C0 |1v8 IO, SARADC|
|
||||
|5/43 |1B3 |Debug UART2-RX| |18/4 |0A4 |3v3 IO |
|
||||
|6/48 |1C0 |CS0, IO | |17/55|1C7 |IRQ, IO |
|
||||
|7/49 |1C1 |CLK, IO | |16/54|1C6 |BUSY, IO |
|
||||
|8/50 |1C2 |MOSI, IO | |15/59|1D3 |i2c SCL |
|
||||
|9/51 |1C3 |MISO, IO | |14/58|1D2 |i2c SDA |
|
||||
|10/52|1C4 |UART4-TX | |13/57|1D1 |UART3-RX, NRST|
|
||||
|11/53|1C5 |UART4-RX | |12/56|1D0 |UART3-TX, RXEN|
|
||||
|
||||
Pin ID explanation: **1C6** = GPIO bank **1**, group **C**, pin **6**.
|
||||
In Meshtasticd's config.yaml we use GPIO bank 1, and subtract 32 from the pin number.
|
||||
|
||||

|
||||

|
||||
|
||||
> [!NOTE]
|
||||
> The information on this page is given without warranty or guarantee. Links to vendors of products are for informational purposes only.
|
||||
> Meshtastic® is a registered trademark of Meshtastic LLC. Meshtastic software components are released under various licenses, see GitHub for details. No warranty is provided - use at your own risk.
|
||||
|
|
|
|||
|
|
@ -1,714 +1,107 @@
|
|||
---
|
||||
## Supported Hardware
|
||||
| Hardware | Confirmed working | Expected to work | Notes |
|
||||
|-|-|-|--|
|
||||
|LoRa radios (working with Meshtasticd)|<li>[Waveshare RPi LoRa hat without GNSS](https://www.waveshare.com/sx1262-lorawan-hat.htm?sku=22002)*<li>[Seeed Wio SX1262](https://www.seeedstudio.com/Wio-SX1262-Wireless-Module-p-5981.html)<li>[Ebyte E220900M30S](https://aliexpress.com/item/4000543921245.html)<li>AI Thinker RA-01SH<li>[Heltec HT-RA62](https://www.aliexpress.com/item/1005005445349105.html)|<li>Ebyte E22-900mm22s<li>[Ebyte E22-900m22s](https://www.aliexpress.com/item/1005001808069127.html)<li>Any SPI LoRa radio that's Meshtastic compatible|*Waveshare RPi hat is not recommended as it has issues with sending longer messages.| |
|
||||
|MicroSD cards|<li>[Kingston Endurance 32gb](https://www.kingston.com/en/memory-cards/high-endurance-microsd-card)<li>[Sandisk Ultra UHS-I 32gb](https://shop.sandisk.com/products/memory-cards/microsd-cards/sandisk-ultra-uhs-i-microsd?sku=SDSQUA4-032G-GN6MA)|Any reasonably fast (UHS-I or better) card with 8gb or more|Stick with reputable manufacturers (Kingston, PNY Samsung, Sandisk, Transcend...)<br>The faster the better! Consider sticking with "endurance" cards, especially for remotely deployed nodes.| |
|
||||
|RTC (real time clock)|<li>[DS3231M](https://vi.aliexpress.com/item/1005007143842437.html)<li>[DS1307](https://vi.aliexpress.com/item/1005007143542894.html)|DS1337, DS1338, DS1340, other DS3231 variants |Some DS3231 modules are listed as having a supercapacitor - these are usually actually lithium coin cells.| |
|
||||
|Meshtastic nodes|USB+UART: [RAK4631 with RAK19007 or RAK19003 base board](https://store.rakwireless.com/products/wisblock-meshtastic-starter-kit)| |RAK4630 and 4631 are the same.| |
|
||||
|USB wifi adapter chipsets|||See below | |
|
||||
|Misc. hardware|<li>USB hubs (powered or not)<li>Thumb drives<li>SD card readers||If power draw exceeds supply, the device will reboot, bootloop or hard crash. Unpowered USB hubs seem to be notorious for causing reboots.| |
|
||||
|
||||
### Wifi chipsets
|
||||
The following wifi chipsets/devices have their drivers included in the OS images. Most of these have not been tested. Note that power consumption metrics are for a specific version of a chipset and may not apply to all implementations.
|
||||
|
||||
---
|
||||
|
||||
<h2 id="supported-hardware">Supported Hardware</h2>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Hardware</th>
|
||||
<th>Confirmed working</th>
|
||||
<th>Expected to work</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>LoRa radios (working with Meshtasticd)</td>
|
||||
<td><li><a href="https://www.waveshare.com/sx1262-lorawan-hat.htm?sku=22002">Waveshare RPi LoRa hat without GNSS</a>*</li><li><a href="https://www.seeedstudio.com/Wio-SX1262-Wireless-Module-p-5981.html">Seeed Wio SX1262</a></li><li><a href="https://aliexpress.com/item/4000543921245.html">Ebyte E220900M30S</a></li><li>AI Thinker RA-01SH</li><li><a href="https://www.aliexpress.com/item/1005005445349105.html">Heltec HT-RA62</a></li></td>
|
||||
<td><li>Ebyte E22-900mm22s</li><li><a href="https://www.aliexpress.com/item/1005001808069127.html">Ebyte E22-900m22s</a></li><li>Any SPI LoRa radio that’s Meshtastic compatible</li></td>
|
||||
<td>*Waveshare RPi hat is not recommended as it has issues with sending longer messages.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>MicroSD cards</td>
|
||||
<td><li><a href="https://www.kingston.com/en/memory-cards/high-endurance-microsd-card">Kingston Endurance 32gb</a></li><li><a href="https://shop.sandisk.com/products/memory-cards/microsd-cards/sandisk-ultra-uhs-i-microsd?sku=SDSQUA4-032G-GN6MA">Sandisk Ultra UHS-I 32gb</a></li></td>
|
||||
<td>Any reasonably fast (UHS-I or better) card with 8gb or more</td>
|
||||
<td>Stick with reputable manufacturers (Kingston, PNY Samsung, Sandisk, Transcend…)<br>The faster the better! Consider sticking with “endurance” cards, especially for remotely deployed nodes.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RTC (real time clock)</td>
|
||||
<td><li><a href="https://vi.aliexpress.com/item/1005007143842437.html">DS3231M</a></li><li><a href="https://vi.aliexpress.com/item/1005007143542894.html">DS1307</a></li></td>
|
||||
<td>DS1337, DS1338, DS1340, other DS3231 variants</td>
|
||||
<td>Some DS3231 modules are listed as having a supercapacitor - these are usually actually lithium coin cells.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Meshtastic nodes</td>
|
||||
<td>USB+UART: <a href="https://store.rakwireless.com/products/wisblock-meshtastic-starter-kit">RAK4631 with RAK19007 or RAK19003 base board</a></td>
|
||||
<td></td>
|
||||
<td>RAK4630 and 4631 are the same.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>USB wifi adapter chipsets</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td>See below</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Misc. hardware</td>
|
||||
<td><li>USB hubs (powered or not)</li><li>Thumb drives</li><li>SD card readers</li></td>
|
||||
<td></td>
|
||||
<td>If power draw exceeds supply, the device will reboot, bootloop or hard crash. Unpowered USB hubs seem to be notorious for causing reboots.</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><h3 id="wifi-chipsets">Wifi chipsets</h3>
|
||||
<p>The following wifi chipsets/devices have their drivers included in the OS images. Most of these have not been tested. Note that power consumption metrics are for a specific version of a chipset and may not apply to all implementations.</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Chipset:</th>
|
||||
<th>Tested?</th>
|
||||
<th>Recommended?</th>
|
||||
<th>Power usage</th>
|
||||
<th>Notes</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><strong><u>Realtek:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8187</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8187b</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8188[cr]u</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8188cu</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8188ee</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8188eu<br>rtl8188eus<br>rtl8188cus</td>
|
||||
<td>✔️</td>
|
||||
<td>✔️</td>
|
||||
<td>Idle: 0.25w<br>TXing: 0.4w<br>Off: 0.026w</td>
|
||||
<td>Model tested:<br><a href="https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN725N_v2">TP-LINK TL-WN725N <strong>V2</strong></a>: working<br><a href="https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN722N_v1.x">TP-Link TL-WR722N <strong>V4</strong></a>: working (v2, v3 <em>should</em> be identical)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8188ru</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl819[12]cu</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8191cu</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192ce</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192cu</td>
|
||||
<td>✔️</td>
|
||||
<td>❔</td>
|
||||
<td></td>
|
||||
<td>Tested:<br><a href="https://techinfodepot.shoutwiki.com/wiki/Edimax_EW-7811Un">Edimax EW-7811Un</a>: working</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192de</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192e</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192ee</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192eu</td>
|
||||
<td>✔️</td>
|
||||
<td>❌</td>
|
||||
<td></td>
|
||||
<td>Buggy</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8192se</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8273,8188,8191,8192</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8712u</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8723ae</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8723au</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8723be</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8821ae</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8821au</td>
|
||||
<td>✔️</td>
|
||||
<td>❌</td>
|
||||
<td></td>
|
||||
<td>Tested:<br><a href="https://www.tp-link.com/us/home-networking/usb-adapter/archer-t2u-plus/">TP-Link Archer T2U Plus</a>: <strong>NOT</strong> working</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rtl8xxx other</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Mediatek:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mt7601u</td>
|
||||
<td>✔️</td>
|
||||
<td>✔️</td>
|
||||
<td>Idle: 0.739w</td>
|
||||
<td>Tested:<br><a href="https://www.amazon.com/dp/B0BNFKJPXS">Genbasic RF 2A4M1</a>: working</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mt76x0u</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mt76x2u</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mt7663s</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>mt7663u</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Atheros:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar5008</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar5523</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar6003</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar6004</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar9001</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar9002</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar9170</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar9271</td>
|
||||
<td>✔️</td>
|
||||
<td>❔</td>
|
||||
<td></td>
|
||||
<td>Tested:<br><a href="https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN722N_v1.x">TP-Link TL-WR722N <strong>V1</strong></a>: working<br><a href="https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb">Penguin Wireless TPE-N150USB</a>: buggy<br><a href="https://www.aliexpress.com/item/1005007556237899.html">Generic AR9271 w/SMA antenna</a>: buggy<br>Work in progress</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar9k</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ath11k</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ar10k</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>wcn3660</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>wcn3680</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Ralink:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2501/rt73</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2571</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2571w</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2572</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2573</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt25xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt2671</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt27xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt28xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt28xx unknown</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt30xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt3070</td>
|
||||
<td>✔️</td>
|
||||
<td>❔</td>
|
||||
<td></td>
|
||||
<td>Tested:<br><a href="https://techinfodepot.shoutwiki.com/wiki/ALFA_Network_AWUS036NEH">Alfa AWUS036NEH</a>: buggy</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt33xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt3573</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt35xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt53xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>rt55xx</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Atmel:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>at76c503</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>at76c505</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>at76c505a</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Microchip Atmel:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>wilc1000</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>Zydas:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zd1201</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zd1211</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>zd1211b</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><strong><u>RNDIS USB:</u></strong></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Asus WL169gE</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Belkin F5D7051</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>BT Voyager 1055</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Buffalo WLI-U2-KG125S</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>BUFFALO WLI-USB-G54</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Eminent EM4045</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linksys WUSB54GSC</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linksys WUSB54GSv1</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Linksys WUSB54GSv2</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>U.S. Robotics USR5420</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>U.S. Robotics USR5421</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|Chipset: |Tested?|Recommended?|Power usage |Notes|
|
||||
|-----------------------|-------|------------|------------|-----|
|
||||
|**<u>Realtek:** | | | | |
|
||||
|rtl8187 | | | | |
|
||||
|rtl8187b | | | | |
|
||||
|rtl8188[cr]u | | | | |
|
||||
|rtl8188cu | | | | |
|
||||
|rtl8188ee | | | | |
|
||||
|rtl8188eu<br>rtl8188eus<br>rtl8188cus|✔️|✔️|Idle: 0.25w<br>TXing: 0.4w<br>Off: 0.026w|Model tested:<br>[TP-LINK TL-WN725N **V2**](https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN725N_v2): working<br>[TP-Link TL-WR722N **V4**](https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN722N_v1.x): working (v2, v3 *should* be identical)|
|
||||
|rtl8188ru | | | | |
|
||||
|rtl819[12]cu | | | | |
|
||||
|rtl8191cu | | | | |
|
||||
|rtl8192ce | | | | |
|
||||
|rtl8192cu |✔️ |❔ | |Tested:<br>[Edimax EW-7811Un](https://techinfodepot.shoutwiki.com/wiki/Edimax_EW-7811Un): working|
|
||||
|rtl8192de | | | | |
|
||||
|rtl8192e | | | | |
|
||||
|rtl8192ee | | | | |
|
||||
|rtl8192eu |✔️ |❌ | |Buggy|
|
||||
|rtl8192se | | | | |
|
||||
|rtl8273,8188,8191,8192 | | | | |
|
||||
|rtl8712u | | | | |
|
||||
|rtl8723ae | | | | |
|
||||
|rtl8723au | | | | |
|
||||
|rtl8723be | | | | |
|
||||
|rtl8821ae | | | | |
|
||||
|rtl8821au |✔️ |❌ | |Tested:<br>[TP-Link Archer T2U Plus](https://www.tp-link.com/us/home-networking/usb-adapter/archer-t2u-plus/): **NOT** working|
|
||||
|rtl8xxx other | | | | |
|
||||
| | | | | |
|
||||
|**<u>Mediatek:** | | | | |
|
||||
|mt7601u |✔️ |✔️ |Idle: 0.739w|Tested:<br>[Genbasic RF 2A4M1](https://www.amazon.com/dp/B0BNFKJPXS): working|
|
||||
|mt76x0u | | | | |
|
||||
|mt76x2u | | | | |
|
||||
|mt7663s | | | | |
|
||||
|mt7663u | | | | |
|
||||
| | | | | |
|
||||
|**<u>Atheros:** | | | | |
|
||||
|ar5008 | | | | |
|
||||
|ar5523 | | | | |
|
||||
|ar6003 | | | | |
|
||||
|ar6004 | | | | |
|
||||
|ar9001 | | | | |
|
||||
|ar9002 | | | | |
|
||||
|ar9170 | | | | |
|
||||
|ar9271 |✔️ |❔ | |Tested:<br>[TP-Link TL-WR722N **V1**](https://techinfodepot.shoutwiki.com/wiki/TP-LINK_TL-WN722N_v1.x): working<br>[Penguin Wireless TPE-N150USB](https://www.thinkpenguin.com/gnu-linux/penguin-wireless-n-usb-adapter-gnu-linux-tpe-n150usb): buggy<br>[Generic AR9271 w/SMA antenna](https://www.aliexpress.com/item/1005007556237899.html): buggy<br>Work in progress|
|
||||
|ar9k | | | | |
|
||||
|ath11k | | | | |
|
||||
|ar10k | | | | |
|
||||
|wcn3660 | | | | |
|
||||
|wcn3680 | | | | |
|
||||
| | | | | |
|
||||
|**<u>Ralink:** | | | | |
|
||||
|rt2501/rt73 | | | | |
|
||||
|rt2571 | | | | |
|
||||
|rt2571w | | | | |
|
||||
|rt2572 | | | | |
|
||||
|rt2573 | | | | |
|
||||
|rt25xx | | | | |
|
||||
|rt2671 | | | | |
|
||||
|rt27xx | | | | |
|
||||
|rt28xx | | | | |
|
||||
|rt28xx unknown | | | | |
|
||||
|rt30xx | | | | |
|
||||
|rt3070 |✔️ |❔ | |Tested:<br>[Alfa AWUS036NEH](https://techinfodepot.shoutwiki.com/wiki/ALFA_Network_AWUS036NEH): buggy|
|
||||
|rt33xx | | | | |
|
||||
|rt3573 | | | | |
|
||||
|rt35xx | | | | |
|
||||
|rt53xx | | | | |
|
||||
|rt55xx | | | | |
|
||||
| | | | | |
|
||||
|**<u>Atmel:** | | | | |
|
||||
|at76c503 | | | | |
|
||||
|at76c505 | | | | |
|
||||
|at76c505a | | | | |
|
||||
| | | | | |
|
||||
|**<u>Microchip Atmel:**| | | | |
|
||||
|wilc1000 | | | | |
|
||||
| | | | | |
|
||||
|**<u>Zydas:** | | | | |
|
||||
|zd1201 | | | | |
|
||||
|zd1211 | | | | |
|
||||
|zd1211b | | | | |
|
||||
| | | | | |
|
||||
|**<u>RNDIS USB:** | | | | |
|
||||
|Asus WL169gE | | | | |
|
||||
|Belkin F5D7051 | | | | |
|
||||
|BT Voyager 1055 | | | | |
|
||||
|Buffalo WLI-U2-KG125S | | | | |
|
||||
|BUFFALO WLI-USB-G54 | | | | |
|
||||
|Eminent EM4045 | | | | |
|
||||
|Linksys WUSB54GSC | | | | |
|
||||
|Linksys WUSB54GSv1 | | | | |
|
||||
|Linksys WUSB54GSv2 | | | | |
|
||||
|U.S. Robotics USR5420 | | | | |
|
||||
|U.S. Robotics USR5421 | | | | |
|
||||
|
|
|
|||
168
usb_config.md
168
usb_config.md
|
|
@ -1,29 +1,23 @@
|
|||
---
|
||||
|
||||
## USB Configuration Tool
|
||||
To configure some Femtofox settings such as wifi, you can insert a USB flash drive containing a configuration file. The system will automatically recognize, mount and implement the settings you specify.
|
||||
Configurable settings are:
|
||||
|
||||
---
|
||||
- Wifi SSID
|
||||
- Wifi PSK (password)
|
||||
- Wifi country
|
||||
- Timezone
|
||||
- Meshtastic:
|
||||
- LoRa radio model
|
||||
- [URL](https://meshtastic.org/docs/software/python/cli/#--seturl-seturl) (used to configure LoRa settings and channels)
|
||||
- Security: Add Admin Key
|
||||
- Security: Clear Admin Key List
|
||||
- Security: [Legacy Admin Channel](https://meshtastic.org/docs/configuration/radio/security/#admin-channel-enabled) enable/disable
|
||||
|
||||
<h2 id="usb-configuration-tool">USB Configuration Tool</h2>
|
||||
<p>To configure some Femtofox settings such as wifi, you can insert a USB flash drive containing a configuration file. The system will automatically recognize, mount and implement the settings you specify.<br>
|
||||
Configurable settings are:</p>
|
||||
<ul>
|
||||
<li>Wifi SSID</li>
|
||||
<li>Wifi PSK (password)</li>
|
||||
<li>Wifi country</li>
|
||||
<li>Timezone</li>
|
||||
<li>Meshtastic:
|
||||
<ul>
|
||||
<li>LoRa radio model</li>
|
||||
<li><a href="https://meshtastic.org/docs/software/python/cli/#--seturl-seturl">URL</a> (used to configure LoRa settings and channels)</li>
|
||||
<li>Security: Add Admin Key</li>
|
||||
<li>Security: Clear Admin Key List</li>
|
||||
<li>Security: <a href="https://meshtastic.org/docs/configuration/radio/security/#admin-channel-enabled">Legacy Admin Channel</a> enable/disable</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<h3 id="instructions">Instructions</h3>
|
||||
<p>The USB drive must be formatted with a single FAT32, exFAT, NTFS (read only - log will not be saved to drive) or ext4 partition. Add a file named <code>femtofox-config.txt</code> and whichever of the the following lines you want to set, keeping in mind this is CaSe sEnSiTiVe:</p>
|
||||
<pre><code>wifi_ssid="Your SSID name"
|
||||
### Instructions
|
||||
The USB drive must be formatted with a single FAT32, exFAT, NTFS (read only - log will not be saved to drive) or ext4 partition. Add a file named `femtofox-config.txt` and whichever of the the following lines you want to set, keeping in mind this is CaSe sEnSiTiVe:
|
||||
```
|
||||
wifi_ssid="Your SSID name"
|
||||
wifi_psk="wifipassword"
|
||||
wifi_country="US"
|
||||
timezone="America/New_York"
|
||||
|
|
@ -31,89 +25,49 @@ meshtastic_lora_radio="ebyte-e22-900m30s"
|
|||
meshtastic_url="https://meshtastic.org/e/#CgMSAQESCAgBOAFAA0gB"
|
||||
meshtastic_admin_key="base64:T/b8EGvi/Nqi6GyGefJt/jOQr+5uWHHZuBavkNcUwWQ="
|
||||
meshtastic_legacy_admin="true"
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p>[!NOTE]<br>
|
||||
Enter as many or as few settings as you like.</p>
|
||||
<p>For <code>wifi_country</code>, insert your country’s two letter code (such as CA or IN) in capital letters.</p>
|
||||
<p>Use a timezone as it appears in <a href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">the tz database</a>.</p>
|
||||
<p><strong>Meshtastic</strong><br>
|
||||
For <code>meshtastic_lora_radio</code>, choose your radio from the supported hardware list.<br>
|
||||
Options are:</p>
|
||||
<ul>
|
||||
<li><code>ebyte-e22-900m30sm</code></li>
|
||||
<li><code>ebyte-e22-900m22s</code></li>
|
||||
<li><code>e22-900mm22s</code></li>
|
||||
<li><code>heltec-ht-ra62</code></li>
|
||||
<li><code>seeed-wio-sx1262</code></li>
|
||||
<li><code>waveshare-sx126x-xxxm</code></li>
|
||||
<li><code>ai-thinker-ra-01sh</code></li>
|
||||
<li><code>none</code> <em>(for simradio)</em></li>
|
||||
</ul>
|
||||
<p><strong>Important:</strong> You cannot set URL and security settings in the same operation - if you must set both, set the URL first, then edit the <code>femtofox-config.txt</code> file on the USB drive to remove the URL and add in your security settings.</p>
|
||||
<p>To add a <code>meshtastic_admin_key</code>, copy it from the app and add <code>base64:</code> to the beginning (<code>meshtastic_admin_key="base64:T/b8EGvi/Nqi6GyGefJt/jOQr+5uWHHZuBavkNcUwWQ="</code>).</p>
|
||||
<p>Clearing the <code>meshtastic_admin_key</code> list: The admin key list can contain up to three keys - <em>if more are added they will be ignored</em>. The USB configuration tool supports clearing the admin key list, after which you will need to re-add your admin key/s in a second operation. To clear the admin key list, enter <code>meshtastic_admin_key="0"</code>, without <code>base64:</code>.</p>
|
||||
</blockquote>
|
||||
<blockquote>
|
||||
<p>[!CAUTION]<br>
|
||||
Attempting to set wifi settings via USB configuration tool without a wifi adapter connected will lead to a 5 minute hang while the configuration tool runs - either disconnect and reconnect power or wait the full 5 minutes to to recover.</p>
|
||||
</blockquote>
|
||||
<p><strong>To apply your configuration, reboot the Femtofox with the USB drive plugged in. No other USB drives can be plugged in at the same time.</strong><br>
|
||||
A log (<code>femtofox-config.log</code>) is saved to <code>/home/femto</code> and the USB drive (except on NTFS, which is read only).<br>
|
||||
<br></p>
|
||||
<h3 id="boot-codes">Boot codes</h3>
|
||||
<p>When the Femtofox is finished booting, it will blink its User LED (see below) in a pattern which can be used to gather info on its status or help diagnose issues.<br>
|
||||
<img src="https://github.com/noon92/femtofox/blob/main/leds.png" alt="LEDs"></p>
|
||||
```
|
||||
> [!NOTE]
|
||||
> Enter as many or as few settings as you like.
|
||||
>
|
||||
> For `wifi_country`, insert your country's two letter code (such as CA or IN) in capital letters.
|
||||
>
|
||||
> Use a timezone as it appears in [the tz database](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones).
|
||||
>
|
||||
> **Meshtastic**
|
||||
> For `meshtastic_lora_radio`, choose your radio from the supported hardware list.
|
||||
> Options are:
|
||||
> * `ebyte-e22-900m30sm`
|
||||
> * `ebyte-e22-900m22s`
|
||||
> * `e22-900mm22s`
|
||||
> * `heltec-ht-ra62`
|
||||
> * `seeed-wio-sx1262`
|
||||
> * `waveshare-sx126x-xxxm`
|
||||
> * `ai-thinker-ra-01sh`
|
||||
> * `none` *(for simradio)*
|
||||
>
|
||||
> **Important:** You cannot set URL and security settings in the same operation - if you must set both, set the URL first, then edit the `femtofox-config.txt` file on the USB drive to remove the URL and add in your security settings.
|
||||
>
|
||||
>To add a `meshtastic_admin_key`, copy it from the app and add `base64:` to the beginning (`meshtastic_admin_key="base64:T/b8EGvi/Nqi6GyGefJt/jOQr+5uWHHZuBavkNcUwWQ="`).
|
||||
>
|
||||
> Clearing the `meshtastic_admin_key` list: The admin key list can contain up to three keys - *if more are added they will be ignored*. The USB configuration tool supports clearing the admin key list, after which you will need to re-add your admin key/s in a second operation. To clear the admin key list, enter `meshtastic_admin_key="0"`, without `base64:`.
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>LED blink pattern</th>
|
||||
<th>Meaning</th>
|
||||
<th>Possible causes</th>
|
||||
<th>Solutions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><center>⚠️<br>________________<br>1 very long blink, lasting 5 seconds</center></td>
|
||||
<td>Failed to mount USB drive. Ignoring.</td>
|
||||
<td><li>Invalid filesystem</li><li>Corrupted partition table</li><li>Defective USB drive</li><li>Defective USB OTG adapter</li></td>
|
||||
<td><li>Use a supported partition (FAT32, exFAT, NTFS, ext4)</li><li>Repair partition table</li><li>Try another USB drive</li><li>Try another USB OTG adapter</li></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><center>⚠️<br>_____ _____ _____<br>3 long blinks, each lasting 1.5 seconds</center></td>
|
||||
<td>USB drive mounted successfully but femtofox-config.txt was not found. Ignoring.</td>
|
||||
<td>Config file missing.</td>
|
||||
<td>Create configuration file as described above.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><center>⚠️<br>_____ _____ _____ _____ _____<br>5 long blinks, each lasting 1.5 seconds</center></td>
|
||||
<td>USB drive mounted successfully and femtofox-config.txt was found but did not contain readable configuration data. Ignoring.</td>
|
||||
<td>Configuration file improperly formatted or contains no data.</td>
|
||||
<td>Check configuration file contents as described above.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><center>⚠️<br>___ ___ _ _ ___ ___ _ _<br>2 long blinks, each lasting 1 seconds, then 2 short blinks, each lasting 1/4 of a second. Repeats twice</center></td>
|
||||
<td>Error while trying to implement a Meshtastic setting after 3 attempts. Some settings may have been implemented successfully.</td>
|
||||
<td><li>The error may be transient.</li><li>Configuration file may contain improper data.</li></td>
|
||||
<td><li>Try again.</li><li>Check configuration file contents as described above.</li><li>Check the log.<br><br>This pattern may flash before other patterns. The pattern will repeat once for each failed setting.</li></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><center>✅<br>. . . . . . . . . .<br>10 very fast blinks, each lasting 1/8th of a second</center></td>
|
||||
<td>USB drive mounted successfully, and femtofox-config.txt was found and contained configuration data which was sent for deployment. Any affected services will now restart. You can disconnect the USB drive.</td>
|
||||
<td>This does not mean that the information in the config file is correct - only that it was readable.<br>Note that the “success” boot code will flash if at least one setting is successfully read - even if the setting was not implemented successfully.</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><center>✅<br>__ __ __ __ __<br>5 medium blinks, each lasting 0.5 seconds</center></td>
|
||||
<td>Boot complete. Appears on every successful boot and always appears last.</td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table><blockquote>
|
||||
<p>[!NOTE]<br>
|
||||
Boot codes can appear in sequence - for example: one long (4 second) blink, followed by 5 medium (half second) blinks means the attempt to mount the USB drive failed, and that boot is complete.</p>
|
||||
</blockquote>
|
||||
> [!CAUTION]
|
||||
> Attempting to set wifi settings via USB configuration tool without a wifi adapter connected will lead to a 5 minute hang while the configuration tool runs - either disconnect and reconnect power or wait the full 5 minutes to to recover.
|
||||
|
||||
**To apply your configuration, reboot the Femtofox with the USB drive plugged in. No other USB drives can be plugged in at the same time.**
|
||||
A log (`femtofox-config.log`) is saved to `/home/femto` and the USB drive (except on NTFS, which is read only).
|
||||
<br>
|
||||
### Boot codes
|
||||
When the Femtofox is finished booting, it will blink its User LED (see below) in a pattern which can be used to gather info on its status or help diagnose issues.
|
||||

|
||||
| LED blink pattern | Meaning | Possible causes | Solutions |
|
||||
|--|--|--|--|
|
||||
|<center>⚠️<br>________________<br>1 very long blink, lasting 5 seconds| Failed to mount USB drive. Ignoring.| <li>Invalid filesystem<li>Corrupted partition table<li>Defective USB drive<li>Defective USB OTG adapter | <li>Use a supported partition (FAT32, exFAT, NTFS, ext4)<li>Repair partition table<li>Try another USB drive<li>Try another USB OTG adapter |
|
||||
|<center>⚠️<br>\_\_\_\_\_ \_\_\_\_\_ \_\_\_\_\_<br>3 long blinks, each lasting 1.5 seconds | USB drive mounted successfully but femtofox-config.txt was not found. Ignoring.| Config file missing. | Create configuration file as described above. |
|
||||
|<center>⚠️<br>\_\_\_\_\_ \_\_\_\_\_ \_\_\_\_\_ \_\_\_\_\_ \_\_\_\_\_<br>5 long blinks, each lasting 1.5 seconds | USB drive mounted successfully and femtofox-config.txt was found but did not contain readable configuration data. Ignoring.| Configuration file improperly formatted or contains no data. | Check configuration file contents as described above. |
|
||||
|<center>⚠️<br>\_\_\_ \_\_\_ \_ \_ \_\_\_ \_\_\_ \_ \_<br>2 long blinks, each lasting 1 seconds, then 2 short blinks, each lasting 1/4 of a second. Repeats twice | Error while trying to implement a Meshtastic setting after 3 attempts. Some settings may have been implemented successfully.| <li>The error may be transient.<li>Configuration file may contain improper data. | <li>Try again.<li>Check configuration file contents as described above.<li>Check the log.<br><br>This pattern may flash before other patterns. The pattern will repeat once for each failed setting.|
|
||||
|<center>✅<br>. . . . . . . . . .<br>10 very fast blinks, each lasting 1/8th of a second | USB drive mounted successfully, and femtofox-config.txt was found and contained configuration data which was sent for deployment. Any affected services will now restart. You can disconnect the USB drive. | This does not mean that the information in the config file is correct - only that it was readable.<br>Note that the "success" boot code will flash if at least one setting is successfully read - even if the setting was not implemented successfully.|
|
||||
|<center>✅<br>\_\_ \_\_ \_\_ \_\_ \_\_<br>5 medium blinks, each lasting 0.5 seconds | Boot complete. Appears on every successful boot and always appears last.| | |
|
||||
|
||||
> [!NOTE]
|
||||
> Boot codes can appear in sequence - for example: one long (4 second) blink, followed by 5 medium (half second) blinks means the attempt to mount the USB drive failed, and that boot is complete.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue