Dingoo A320 for the third year holds the palm in popularity among handheld emulators of all-just-can-emulate, and for good reason — low price, decent iron and a huge army of fans allowed this console to literally conquer the world. But there is one, essential in the XXI century lack of - the absence of any wireless interfaces. We will solve this problem.
So, given - Dingoo A320 with Dingux installed. It is required to fasten a wireless TCP / IP network in the most budgetary way.
* Nzeemin user photos from wikipedia.org')
In fact, everything described is applicable to Vogue / Playboy players, various eInk readers, and many other devices with mobile Linux.
Ideal options would be to get in our Wi-fi console, but the only sensible way to achieve this is to use an SDIO card - for two reasons: firstly, in the mini-SD ding, and finding SDIO-wireless for this format is problematic, and secondly, dingux is currently working only from a memory card, and the slot is always busy.
Bluetooth remains. There is a USB host through which it would be possible to connect a BT dongle in the processor, but it is not soldered anywhere on the board, so this option disappears. And here a rather insane, but simply feasible, idea of SLIP over Bluetooth comes into the arena.
I will explain what is meant. In Dingoo, like in almost any device, there is a serial port displayed on the board, which is used by the manufacturer for debugging. Under dingux, this port is completely at our disposal, and by default it hangs the usual Linux console, where you can log in and enter commands. If you disable this console, connect the serial port of the console to the serial port of the computer, then we get a classic
null modem . After that, using the PPP protocol, you can establish a session and raise a TCP / IP connection over the serial port. Yes, that's exactly what we did 10 years ago, calling the provider through a modem. But the PPP protocol is unnecessary for us, because we only need to connect the console, and not to organize a modem pool.
The forerunner of PPP was the SLIP protocol. Unlike PPP, SLIP works in peer-to-peer networks, that is, when there is no separation between server and client machines. Just connect two computers, configure the serial ports for the same speed, and let the OS know that this is a network connection. In linux, the slattach command is used for this, in Windows - a few mouse clicks. Unfortunately, in Windows 7, the built-in support for SLIP was removed, and its configuration requires a “compatibility mode with Windows XP” (not strong in Windows, so I don’t know how difficult it is).
The attentive reader is already preparing to rebel, because I am talking too much about serial ports, and have not said a word about how we will organize a wireless connection. The reader is right, it's time to reveal the main trump card.

Meet the
Wireless Bluetooth RS232 TTL Transceiver Module . This device is able to exactly what is required (it organizes the Bluetooth Serial Port and replaces the null modem cable in the above scheme), and costs only $ 6.60 (on DealExtreme, on eBay there is also cheaper). There is no decent documentation for this miracle (as well as practically all Chinese devices), but from two or three page datasheets it becomes clear where to solder the wires.
The pinout of the contacts we need is as follows (keep the components to yourself with the antenna up, numbering counter-clockwise starting from the left top contact):
1 - Tx, transmission (solder to the Rx prefix)
2 - Rx, receive (solder to Tx prefix)
12 - VCC, 3.3V
13 - GND
Carefully open the dingo - 4 rubber plugs at the back, 4 screws under them, then snap the latches with a plastic card,
very carefully remove the battery, unscrew two more screws, and take out the board. Neatly hook the screen, bend it to the side. Under the screen there are 4 signed contacts, 2 of which are our serial ports. Now we solder the BT-adapter according to the following “scheme”, trying to make the soldering as flat as possible, otherwise in the assembled device, tin bumps will press on the screen, on which dark spots will appear (this is at best).

Power supply 3.3 V is taken from the FM-module, convenient ground is found in the hardware of the Reset button. This is my prefix after the intervention:


Do not pay attention to the two wires that are soldered to the remaining contacts under the screen - this is for further distortions, they have nothing to do with this article.
Putting it back. The scarf can be placed next to the battery, prudently isolating it from the main board with at least paper. On this iron part is over, you can turn off the soldering iron and reel MGTF. Go to soft.
First of all, we need to disable the console on the serial port, which dingux runs there by default. To do this, connect to the ding via telnet via USB, enter
vi /etc/inittab
and delete (or comment) line
ttyS0::respawn:/sbin/getty -L ttyS0 57600 vt100
and reboot Dingoo. Now you need to change the settings of the BT-adapter, namely the port speed and device name. To do this, again go through telnet and
screen /dev/ttyS0 9600
While the Bluetooth connection is not established, the handkerchief accepts AT commands. There is one feature - when entering, you need to be packed in 1 second, so the commands must be sent via copy-paste, and not typed manually. Line feed after the entered command is also not needed. First, send the usual
AT
If the answer is OK, then everything is in order. Otherwise, we are looking for defects in soldering.
Set the port speed to 57600
AT+BAUD7
OK57600 will answer;
and device name
AT+NAMEdingoo
we get the answer OKdingoo.
Now it is time to recompile the dingux kernel, including the CONFIG_SLIP = y option. At the end of the article there will be links to the compiled kernel, which is used by me, but it is largely outdated (for example, there is no mouse emulation).
Restart again and proceed to the computer setup. I, unfortunately, do not have Windows-machines at hand, so everything is described only for Linux. First we find a new device and mate with it. Install the slattach utility (net-tools package in Debian), then execute the script
#!/bin/sh
# Should be run with root privileges
rfcomm bind rfcomm0 00:11:22:33:44:55
slattach -L -m -s 57600 -p slip /dev/rfcomm0 &
while ! ifconfig sl0
do
sleep 1
done
ifconfig sl0 10.100.1.1 pointopoint 10.100.1.2 up
Replace 00: 11: 22: 33: 44: 55 with the bluetooth address of your dingy (you can find it in the Bluetooth manager or via the hcitool scan command).
We copy the version of slattach compiled for it on dingoo (see links at the end), go through telnet (still usb), and execute
#!/bin/sh
/boot/slattach /dev/ttyS0 57600
while ! ifconfig sl0
do
sleep 1
done
stty -F /dev/ttyS0 intr undef quit undef rprnt undef flush undef min 1 cread
ifconfig sl0 10.100.1.2 pointopoint 10.100.1.1 up
The stty command is necessary because the terminal is initially set up for text-based user interaction, and we need to transfer binary data. This script needs to be saved to a file and create a link to it from the dingux menu to eliminate the need to connect via usb, and make the wireless connection fully wireless.
Everything! Perform on the computer
ping 10.100.1.2
and we see joyful messages on the received responses.
The range of the device is about five meters (with direct visibility), but there is a place on the BT adapter to solder the external antenna; when using it, the range can be significantly increased.
To increase the exchange rate, you can, first, switch the adapter to the speed of 115200 baud (and edit all scripts accordingly), and, second, use its compressed version - CSLIP instead of the usual SLIP.
Of course, that telnet- and ftp-server, through which dingux communicates with the user, are now available via bluetooth. But unfortunately, there is no other network software in principle, not even a web browser. So from the network entertainment only games in which when porting was not cut multiplayer - for example, Doom.
And, finally, links to files:
1.
slipintro - link to the SLIP configuration guide under Windows XP. Hopefully help those who do not have Linux.
2.
zImage_IL9325 |
zImage_IL9331 |
zImage_IL9338 - core (three versions for three types of display). As already noted, it is a year old, and there are no recent changes from OpenDingux or SCiENcE.
3.
rootfs - rootfs for this kernel (already with modified / etc / inittab).
4.
slattach - binary for dingux.