Group: Hardware/Computers/PDAs/Nanonote

From LibrePlanet
Jump to: navigation, search
m (fix grammar)
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Libre Wifi ==
+
== Introduction ==
For [http://wiki.qi-hardware.com/wiki/Nanonote_use_cases#Communications_device Ben NanoNote use cases: Communications device] and other purposes...
 
  
* Need FaiF TCP/IP I/O
+
The Ben Nanonote is a small PDA with 32MiB of RAM that lack wireless interfaces.
 +
 
 +
At the time of writing, it is still [https://gogs.librecmc.org/libreCMC/libreCMC/wiki/Supported_Hardware supported by LibreCMC].
 +
 
 +
LibreCMC also [https://gogs.librecmc.org/libreCMC/libreCMC/wiki/Ben_Nanonote has more information about what hardware features were tested with LibreCMC].
 +
 
 +
== Use cases and wireless interfaces ==
 +
 
 +
It doesn't come with any wireless interfaces. There are many use cases like music player, reading information (the screen is small), talking notes, etc that don't need wireless communication.
 +
 
 +
Since it has a USB port that can be in device mode (I didn't find any information for configuring it in host mode, so it probably doesn't support USB host), it might also be able to do [http://en.qi-hardware.com/wiki/Ethernet_over_USB Ethernet over USB] to get access to a network.
 +
 
 +
=== IEEE 802.15 networks ===
 +
IEEE 802.15 is a network layer. On top there can be protocols like 6LoWPAN which work fine with free software, or more problematic protocols like Zigbee.
 +
 
 +
==== IEEE 802.15 network with 6LoWPAN ====
 +
 
 +
The most promising way to get wireless working on the nanonote is through free protocols like 6LoWPAN on top of IEEE 802.15.
 +
 
 +
There is [http://en.qi-hardware.com/wiki/Ben_WPAN some documentation] on how to make an IEEE 802.15 network between the nanonote and a regular computer running GNU/Linux.
 +
 
 +
It requires a wireless adapter (atusb) that can be plugged in a GNU/Linux computer with USB and another adapter (atben) that can be plugged in the nanonote.
 +
 
 +
To make it work between a self-hosted FSDG distribution (like Parabola, Trisquel, Guix, etc), it is best to review the source code to make sure it's 100% free and package [https://linux-wpan.org/wpan-tools wpan-tools] in one of them and also in LibreCMC if it's not already packaged. Alternatively another option could be to review the source code in the free software directory and to tell users to build wpan-tools themselves.
 +
 
 +
Also note that there isn't any vendor selling these adapters in the RYF website. So it means that buying such adapters online with free software could fail if the website selling the hardware require nonfree JavaScript to function.
 +
 
 +
Though some people might also have second hand atusb or atben and it might be possible to try to find them and arrange a purchase or donnation without any nonfree software.
 +
 
 +
[[Category:Hardware]]
 +
 
 +
==== IEEE 802.15 networks with Zigbee ====
 +
Another idea would be to network with another protocol, such as Zigbee, however zigbee the protocol may have problems:
 +
* [http://freaklabs.org/index.php/Blog/Zigbee/Zigbee-Linux-and-the-GPL.html Zigbee, Linux, and the GPL]
 +
* [http://thread.gmane.org/gmane.linux.kernel.wireless.general/33515 RFC WIP IEEE 802.15.4 implementation for Linux]
 +
* Some people from OSU are [http://beaversource.oregonstate.edu/projects/cspfl/ticket/3494 close to having linux zigbee networking working]. They are using the [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Software TI cc2431]: """The TI cc2431 is the zigbee wireless solution. This chip contains an 8bit 8051 microcontroller core and the CC2420 radio core. This is a very flexible chip, and as such the current firmware is a UART interface that Linux will take advantage of. The firmware is based on TI's TIMAC software which provides the MAC layer of the networking stack. Programming of the cc2431 is not supported by current RADIX releases but is planned for the future. The firmware can be built using IAR Embedded Workbench (a evaluation version can be found here).""" At first glance it looks like the firmware code may be free, but require a nonfree compiler to build; I've asked on #oswald if this is correct (freenode irc).
 +
* [http://www.arduino.cc/en/Main/ArduinoXbeeShield Arduino Xbee Shield] uses [http://www.digi.com/products/wireless/point-multipoint/xbee-series1-moduledocs.jsp] [http://www.digi.com/products/wireless/point-multipoint/xbee-series1-module.jsp#overview] modules.
 +
* [http://sourceforge.net/apps/trac/linux-zigbee/ linux-zigbee]
 +
* http://www.bugcommunity.com/wiki/index.php/BUGbee
 +
 
 +
=== Research on compatible Libre Wifi cards ===
 +
The nanonote has a microSD slot, so it is possible to add some WiFi cards using the SDIO bus.
 +
 
 +
However many of these cards don't work with free software (they require the distribution to ship nonfree firmwares), so the ideal solution would be to reverse engineer and reimplement one of these firmwares.
 +
 
 +
Possible workarounds:
 +
* Don't use wireless networks. There are a lot of use cases that don't need WiFi. The device has 32M of RAM anyway so the web is mostly out of reach anyway. The USB connection could then be used for updating the software or installing new packages.
 +
* Use another computer that has WiFi and USB host. For instance:
 +
** A tiny LibreCMC compatible WiFi access point. The user could then SSH into from the nanonote it and configure the wifi in this way.
 +
* Setup an IEEE 802.15 network with 6LoWPAN (see above), and do all the necessary work to package it in FSDG compliant distributions.
 +
* Try to get someone to do a daughtercard that will add USB host or PCI(e) as there are some USB/PCI/PCIe cards that work with free software.
 +
 
 +
Another solution (that is not without its share of problems) that is researched below would be to find cards with firmware that are inside them and to treat them as if the firmware was not upgradable. The issue with that approach would be to find cards where the firmware is really not upgradable at all. It could be on a read-only flash chip for instance. If the flash chip is somewhat writable or if it can somehow be updated by software, it could force users to agree to nonfree licenses as in practice it would be hard to make sure that some programmers continue supporting older firmware versions if bugs are found and fixed by the manufacturer.
 +
 
 +
Research on WiFi cards with bundled nonfree firmwares:
 
* Only possible option at moment is expensive AR6001 card + ugly microSD to SD adapter [http://thread.gmane.org/gmane.linux.distributions.gnewsense.devel/1843/focus=1851]
 
* Only possible option at moment is expensive AR6001 card + ugly microSD to SD adapter [http://thread.gmane.org/gmane.linux.distributions.gnewsense.devel/1843/focus=1851]
 
** [http://www.ikontools.com/articles/eyefi-dissected The Eye-Fi Card - Dissected] - looks like this may be a mass produced / cheaper alternative; has AR6001G wifi (need to double-check this doesn't load blob from external). But not clear it can be used just for its wifi.
 
** [http://www.ikontools.com/articles/eyefi-dissected The Eye-Fi Card - Dissected] - looks like this may be a mass produced / cheaper alternative; has AR6001G wifi (need to double-check this doesn't load blob from external). But not clear it can be used just for its wifi.
 
** Another SDIO ATH6001 card: [http://www.netcomponents.com/results.htm?r=1&t=f&src=&so=&lgc=begins&d=1&pn1=SX-SDWAG&slgc1=begins SX-SDWAG] - 40mA, 3.3V, Built-in antenna
 
** Another SDIO ATH6001 card: [http://www.netcomponents.com/results.htm?r=1&t=f&src=&so=&lgc=begins&d=1&pn1=SX-SDWAG&slgc1=begins SX-SDWAG] - 40mA, 3.3V, Built-in antenna
* Idea: try to get someone to do a daughtercard that will add this functionality in a way FSF would accept. Perhaps something that would do USB in host mode and allow for internal USB dongles like the always innovating touch book. Or something with an rtl8187b. Or something that would allow any [http://en.wikipedia.org/wiki/Expresscard ExpressCard] or [http://en.wikipedia.org/wiki/PCI-Express#PCI_Express_Mini_Card PCI Express Mini Card] to be used.
+
 
 
* Link to thread
 
* Link to thread
 
* Reply to http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg02356.html with 2 card options
 
* Reply to http://www.mail-archive.com/ath9k-devel@lists.ath9k.org/msg02356.html with 2 card options
 
* Possible rtl8187b PCI Express Mini card - http://www.promwad.com/technologies/wireless.html - "Wireless IEEE802.11b/g (WiFi) OEM module based on RealTek RTL8187 chipset for mobile application" - info@promwad.com
 
* Possible rtl8187b PCI Express Mini card - http://www.promwad.com/technologies/wireless.html - "Wireless IEEE802.11b/g (WiFi) OEM module based on RealTek RTL8187 chipset for mobile application" - info@promwad.com
* ath9k PCI Express Mini card - http://cgi.ebay.com/802-11ABG-N-MiniPci-Express-802-11N-ABG-300Mbps-Atheros_W0QQitemZ110473201878QQcmdZViewItemQQptZPCMCIA_Cards?hash=item19b8b748d6#ht_6604wt_951
 
* [http://wiki.qi-hardware.com/wiki/Ethernet_over_USB Ethernet over USB] with the mifi - although this might require [http://www.novatelwireless.com/index.php?option=com_user&task=register Registration] / NDAs with Novatel on the mifi side.
 
 
* Make a daughterboard that interfaces with an expansion board that includes wifi via UART or SPI, such as these do:
 
* Make a daughterboard that interfaces with an expansion board that includes wifi via UART or SPI, such as these do:
 
** DAB-WLS-C01 [https://specialcomp.com/calao/dab/index.htm] [http://www.calao-systems.com/repository/EXPANSION%20BOARDS/DAB-WLAN-M2M-XXX/DOCS/]
 
** DAB-WLS-C01 [https://specialcomp.com/calao/dab/index.htm] [http://www.calao-systems.com/repository/EXPANSION%20BOARDS/DAB-WLAN-M2M-XXX/DOCS/]
 
** WiFly GSX [http://www.littlebirdelectronics.com/products/wifly-shield WiFly Shield] UART connected "black box"
 
** WiFly GSX [http://www.littlebirdelectronics.com/products/wifly-shield WiFly Shield] UART connected "black box"
 
** [http://www.roundsolutions.com/shop/en/WiFi-Module RN] [http://www.roundsolutions.com/shop/products/en/WiFi-Module/WiFi-Module-80211b-g-THT-with-serial-interface.html 121]
 
** [http://www.roundsolutions.com/shop/en/WiFi-Module RN] [http://www.roundsolutions.com/shop/products/en/WiFi-Module/WiFi-Module-80211b-g-THT-with-serial-interface.html 121]
 
+
* AR6001 (ar6k) options
=== AR6001 (ar6k) options ===
+
** SX-SDWAG (preferable as it has built in antenna) http://www.silexamerica.com/products/wireless_modules/sx-sdwag.html (Currently trying to source from a few places; one place had it listed but is currently out of stock; I'll see what they do with my order.)
1. SX-SDWAG (preferable as it has built in antenna)
+
** CAW-SDIOG http://www.cardaccess-inc.com/products/index.php?a=wlan_burt
http://www.silexamerica.com/products/wireless_modules/sx-sdwag.html
 
(Currently trying to source from a few places; one place had it listed
 
but is currently out of stock; I'll see what they do with my order.)
 
 
 
2. CAW-SDIOG
 
http://www.cardaccess-inc.com/products/index.php?a=wlan_burt
 
 
 
== Zigbee ==
 
Another idea would be to network with another protocol, such as Zigbee, however zigbee the protocol may have problems:
 
* [http://freaklabs.org/index.php/Blog/Zigbee/Zigbee-Linux-and-the-GPL.html Zigbee, Linux, and the GPL]
 
* [http://thread.gmane.org/gmane.linux.kernel.wireless.general/33515 RFC WIP IEEE 802.15.4 implementation for Linux]
 
* Some people from OSU are [http://beaversource.oregonstate.edu/projects/cspfl/ticket/3494 close to having linux zigbee networking working]. They are using the [http://beaversource.oregonstate.edu/projects/cspfl/wiki/CSPFL_Software TI cc2431]: """The TI cc2431 is the zigbee wireless solution. This chip contains an 8bit 8051 microcontroller core and the CC2420 radio core. This is a very flexible chip, and as such the current firmware is a UART interface that Linux will take advantage of. The firmware is based on TI's TIMAC software which provides the MAC layer of the networking stack. Programming of the cc2431 is not supported by current RADIX releases but is planned for the future. The firmware can be built using IAR Embedded Workbench (a evaluation version can be found here).""" At first glance it looks like the firmware code may be free, but require a nonfree compiler to build; I've asked on #oswald if this is correct (freenode irc).
 
* [http://www.arduino.cc/en/Main/ArduinoXbeeShield Arduino Xbee Shield] uses [http://www.digi.com/products/wireless/point-multipoint/xbee-series1-moduledocs.jsp] [http://www.digi.com/products/wireless/point-multipoint/xbee-series1-module.jsp#overview] modules.
 
* [http://sourceforge.net/apps/trac/linux-zigbee/ linux-zigbee]
 
* http://www.bugcommunity.com/wiki/index.php/BUGbee
 

Latest revision as of 00:48, 12 April 2024

Introduction

The Ben Nanonote is a small PDA with 32MiB of RAM that lack wireless interfaces.

At the time of writing, it is still supported by LibreCMC.

LibreCMC also has more information about what hardware features were tested with LibreCMC.

Use cases and wireless interfaces

It doesn't come with any wireless interfaces. There are many use cases like music player, reading information (the screen is small), talking notes, etc that don't need wireless communication.

Since it has a USB port that can be in device mode (I didn't find any information for configuring it in host mode, so it probably doesn't support USB host), it might also be able to do Ethernet over USB to get access to a network.

IEEE 802.15 networks

IEEE 802.15 is a network layer. On top there can be protocols like 6LoWPAN which work fine with free software, or more problematic protocols like Zigbee.

IEEE 802.15 network with 6LoWPAN

The most promising way to get wireless working on the nanonote is through free protocols like 6LoWPAN on top of IEEE 802.15.

There is some documentation on how to make an IEEE 802.15 network between the nanonote and a regular computer running GNU/Linux.

It requires a wireless adapter (atusb) that can be plugged in a GNU/Linux computer with USB and another adapter (atben) that can be plugged in the nanonote.

To make it work between a self-hosted FSDG distribution (like Parabola, Trisquel, Guix, etc), it is best to review the source code to make sure it's 100% free and package wpan-tools in one of them and also in LibreCMC if it's not already packaged. Alternatively another option could be to review the source code in the free software directory and to tell users to build wpan-tools themselves.

Also note that there isn't any vendor selling these adapters in the RYF website. So it means that buying such adapters online with free software could fail if the website selling the hardware require nonfree JavaScript to function.

Though some people might also have second hand atusb or atben and it might be possible to try to find them and arrange a purchase or donnation without any nonfree software.

IEEE 802.15 networks with Zigbee

Another idea would be to network with another protocol, such as Zigbee, however zigbee the protocol may have problems:

Research on compatible Libre Wifi cards

The nanonote has a microSD slot, so it is possible to add some WiFi cards using the SDIO bus.

However many of these cards don't work with free software (they require the distribution to ship nonfree firmwares), so the ideal solution would be to reverse engineer and reimplement one of these firmwares.

Possible workarounds:

  • Don't use wireless networks. There are a lot of use cases that don't need WiFi. The device has 32M of RAM anyway so the web is mostly out of reach anyway. The USB connection could then be used for updating the software or installing new packages.
  • Use another computer that has WiFi and USB host. For instance:
    • A tiny LibreCMC compatible WiFi access point. The user could then SSH into from the nanonote it and configure the wifi in this way.
  • Setup an IEEE 802.15 network with 6LoWPAN (see above), and do all the necessary work to package it in FSDG compliant distributions.
  • Try to get someone to do a daughtercard that will add USB host or PCI(e) as there are some USB/PCI/PCIe cards that work with free software.

Another solution (that is not without its share of problems) that is researched below would be to find cards with firmware that are inside them and to treat them as if the firmware was not upgradable. The issue with that approach would be to find cards where the firmware is really not upgradable at all. It could be on a read-only flash chip for instance. If the flash chip is somewhat writable or if it can somehow be updated by software, it could force users to agree to nonfree licenses as in practice it would be hard to make sure that some programmers continue supporting older firmware versions if bugs are found and fixed by the manufacturer.

Research on WiFi cards with bundled nonfree firmwares:

  • Only possible option at moment is expensive AR6001 card + ugly microSD to SD adapter [3]
    • The Eye-Fi Card - Dissected - looks like this may be a mass produced / cheaper alternative; has AR6001G wifi (need to double-check this doesn't load blob from external). But not clear it can be used just for its wifi.
    • Another SDIO ATH6001 card: SX-SDWAG - 40mA, 3.3V, Built-in antenna