Using Coral Dev Board as wifi router - google-coral

Im doing a project with IP cameras and Coral, so I'd like to know is it possible to create a wifi hotspot using only coral. I've tried couple ways, but they ended up to be not working

Coral Dev board uses "Murata LBEE5U91CQ module". And this chip does support dual mode network topology (AP + STA). Please see the details at : https://wireless.murata.com/type-1cq.html.
Driver is nl80211 and AP is supported so standard Linux tools can be used. Generally this is accomplished with hostapd, you can see an example configuration here: https://nims11.wordpress.com/2012/04/27/hostapd-the-linux-way-to-create-virtual-wifi-access-point/. That being said, hostapd lets you configure many more modes that will enable. The maximum data rate will vary wildly based on your configuration, but the device can support 802.11n with two antennas so up to 300 Mbps may be possible. Run 'iw list' for more info on capabilities.
Note: both hostapd and iw need to be installed via apt.

Related

Enable Raspberry Pi's internal pull-up resistors?

Is there a way to enable Raspberry Pi's internal pull-up resistors using Android Things?
EDIT: I filed a feature request -> https://code.google.com/p/android/issues/detail?id=233630
As of current release (DP2), there is no Peripheral I/O API to dynamically configure pull/down resistor on Android Things.
However has pointed in the release notes and the BCM2835 documentation, the Raspberry Pi 3 has internal pull-up (3.3V) resistor configured by default on the following pins, when configured as input with Gpio.setDirection:
BCM4
BCM5
BCM6
This is now available through the android things console:
First you should read this link for base knowlege.Pull-up resistors is hardware, it make uncertain voltage to 1 or 0 for pin!

USB Wireless adapters enabling Power Saving Mode

I am being confused on all terminology referring to it, so here is my request:
Name at least one USB Wireless Adapter whose Wi-Fi chipset is supported by a wireless driver enabling AP mode, Monitor Mode and PSM (Power Saving Mode) in a SoftMAC implementation (PSM functions accessible and modifiable via software).
The goal is to work on a new Power Saving Mode implementation, by modifying existing implementations of either PSM or APSM.
Check out MediaTek USB dongles:
http://www.mediatek.com/en/products/connectivity/wifi/pc/usb/
Most of these can work straight away using Linux mainline rt2x00 driver. rt2x00 is open-source, supports Monitor mode (can sniff packets), AP mode (can work with wpa_supplicant/hostapd), and is a SoftMAC driver (as it works with mac80211 driver). As for PSM, I'm not sure although there seems to be a good chance that rt2x00 supports it as well..

Starter kit for bare-metal programming for Beaglebone

i plan to try some bare-metal TCP/IP stuff on a beaglebone. There is TI StarterWare containing the TCP/IP stack which is good. However, to flash my program to BB, I need some JTAG adaptor and software. Which one should I buy/use there so many different JTAG debuggers, are they all equivalent?
One preliminary remark:
You don't really need a JTAG probe for downloading/running/flashing your program: you can load and execute using u-boot loadb or load commands from the serial console, provided that your beaglebone does still have u-boot installed - The procedure for connecting a USB-to-TTL adapter is described here. I would strongly suggest to buy the exact adapter featured in the article above on e-bay if you don't have one.
In addition to the u-boot/serial adapter, you can to connect your beaglebone to your local network, and download your application using u-boot tftp commands. You can buy a USB to Ethernet adapter for a couple of dollars, plug it into your PC, then install a TFTP server, tftp32 (Windows) or tftpd-hpa (Linux). You will then be able to connect directly your development PC to your beaglebone.
In the case your beaglebone would not have a working u-boot installed anymore, you still can re-install it from the serial port:
This can be done by connecting both P8.44/SYS_BOOT3/LCD_DATA3/GPIO2_9 and P8.43/SYS_BOOT2/LCD_DATA2/GPIO2_8 to the ground (two of P9.43/P9.44/P9.45/P9.46) using two 4.7 k ohm resistors, powering the beaglebone with an external 5V power supply (not by USB), and power-cycling the beaglebone - power-cycling IS required, performing a 'reset' is not enough for the new SYSBOOT configuration to be taken into account.
You can then download u-boot from your PC using Teraterm: u-boot-spl-.bin should be downloaded using x-modem, and u-boot.bin using y-modem, as described in the 'Boot over UART' section of this TI wiki article.
This being said, a JTAG probe is always useful when debugging a bare metal application or the Linux kernel: as a hobbyist, I am using the EDU version of Segger J-link with my beaglebone (around USD 63). If you need it for commercial use, the price tag is around USD 400 I guess.
You will also need to have the TI 20 pin header soldered on your beaglebone - see section "Optional JTAG" of the beaglebone documentation.
I bought the Samtec FTR-110-03-G-D-06 connector, and am perfectly happy with it.
Please note the CircuitCo used to sell Beaglebone Blacks with the connector already soldered.
Finally, you will need an adapter to connect the TI 20 Pin connector to the standard 20 pin ARM JTAG connector used by the J-link.
To my knowledge, they are at least two solutions:
The J-Link TI-CTI-20 Adapter from Segger, which was my choice,
The BeagleBone Black JTAG Adapter Kit from Tican Tools.
The J-Link has software support for both Windows and Linux. I have been using it with the Starterware and my beaglebone black on both Windows and Linux systems with success to this day. It has been working fine with a bunch of different Cortex-M0+, M0, M3, and M4 as well.
Unfortunately, I don't have been experimenting with other JTAG probes...
From what I have read, the JTAG emulator that allows you to use the free license to Code Composer Studio with the Beaglebone Black is the XDS100v2. Here is a link to it:
https://store.ti.com/TMDSEMU100V2U-20T-XDS100v2-JTAG-Emulator-20-pin-compact-TI-connector-P1848.aspx
I just bought one myself to use with the BBB. I have not tried it yet though.
You don't necessarily need JTAG to test them. You can build it and put it in a path in your filesystem, then during boot, ask your bootloader i.e. u-boot to load it and then jump there and execute it.

Setting up a Wi-Fi repeater (ap-client) on Linux

I'm trying to set up a Wi-Fi repeater on Ubuntu PC or embedded Linux with Wi-Fi dongles, using one dongle at a time. Drivers and firmwares for dongles are done and worked on my PC/embedded board for AP mode and station mode. Then what can I do next?
In my thought, I have to simulate 2 interfaces with only 1 dongle. Than run Hostapd on a interface, run wpa_supplicant on another interface. Is that a workable method? If yes, how can I "create" 2 interface with 1 dongle, say, wlan0/wlan1 or wlan0.1/wlan0.2 or something like that?
Is the whole scenario workable just through some operation about interface and system, or the scenario MUST be supported by driver of dongles, if driver doesn't provide this scenario, then it is impossible?
I tried it on Ralink Soc before(it's called ap-client mode by Ralink). On Ralink platform with its own SDK including Linux source and Wi-Fi drivers, it is done by iwpriv commands. There are interfaces call "apcli0" to work in station mode and "ra0" work in AP mode, but there is only 1 physical Wi-Fi interface built-in in Ralink Soc. It works just fine but I'm not using Ralink Soc now. Is that feature also available for other dongles?
After working on driver compiling, I got some idea.
The chip I'm using supports "dual mac" feature, and the driver must support this feature.
If the driver is successfully compiled, inserted and the dongle is plugged in, there will be 2 interfaces coming out, for example, wlan0 and wlan1. Therefore I can configure one interface as AP and another interface as station.
So the key point is the chip and driver must support dual mac feature.

Where do I look to learn about Network Programming to Auto Configure Embedded Devices?

I am a 16 year Windows UI developer and am now researching Network Programming on Embedded Devices. This is completely out of my realm of expertise. I need to research network programming on 2 devices:
Device 1 will use Windows Embedded Compact 7 (WEC7) as its operating system. It will need to auto-configure its network (plug and play) so that it can connect to Device 2 via Ethernet.
Device 2 will act as a switch to connect Device 1 with a PC or LAN. Device 2 will use our custom operating system and will have 2 Ethernet ports. We need to write our network code on that system from the ground up.
We want Device 1 and Device 2 to auto-configure themselves so the user doesn't have to do any configuration of the network. They should just plug and play.
Device 1 <--(Plugs into)--> Device 2 <--(Plugs into)--> LAN or PC
So where should I look to figure out how to program this network functionality from the ground up on a our custom operating system, and where should I look to learn about Windows Embedded Compact 7 Network auto-configuration programming? Are there any good books or online tutorials that you would recommend?
We haven't decided on the protocols we will use, that's what I'm trying to research.
Any and all help would be greatly appreciated.
Ok,
I found the answer, or at least a good starting point. It's called UPnP Forum. They have a great overview document:
UPnP Device Architecture 1.1
The above document talks about getting devices to be Network Plug And Playable. So they auto configure their IPs or use DHCP if necessary, and it talks about how this is all to be accomplished.
If anybody else knows of a good resource similar to the one above, or tutorials, please let me know.

Resources