Difference between revisions of "A13-SOM-WIFI"

Line 70: Line 70:
  
 
===GPIO under Linux===
 
===GPIO under Linux===
 +
 +
==How To?==
 +
<br>
 +
===How to correctly power off OLinuXino running from NAND Flash===
 +
[http://olimex.wordpress.com/2014/01/24/how-to-correctly-power-off-olinuxino-running-android/ In this Blog post] we explain what are the problems. This is common problem for all computers running OS. [http://www.linux-mtd.infradead.org/doc/ubifs.html#L_ubifs_mlc Here] you can read more about MLC NAND Flash and Linux file system.
 +
 +
===How do I write the official Android image to a micro SD card for my A20 board?===
 +
There are two Android images available for an SD card. One for 7″ LCD and one for 10″ LCD [[A20-OLinuXino-MICRO#Android]]. Note that Android display configuration settings are edited in the script.bin file (it has to be converter to fex and edited according to the fex guide at linux sunxi's article; then converted back to script.bin and written in the image). To write the images on the SD card you will need PhoenixSuit and to follow these steps:
 +
 +
• Install and run PhoenixSuit
 +
 +
• Go to the firmware tab of the program and point to a valid Android image (note that the
 +
images on Gdrive are compressed and you have to extract them to .img files to be able write
 +
them with PhoenixSuit)
 +
 +
• Disconnect the power supply and USB cable from the A20 board. Put an SD card in micro SD
 +
holder. We recommend 4GB class 10 card.
 +
 +
• Press and hold RECOVERY button, apply power supply (6-16)V, release RECOVERY button.
 +
 +
• Connect USB cable to the mini USB connector.
 +
 +
• You will be asked for drivers for the boot-loader. Navigate to the folder where you extracted the PhoenixSuit and install the drivers from the respective executables (or manually point the installer to the drivers folder in the PhoenixSuit installation path).
 +
 +
• PhoenixSuit will detect the board and would ask for the method of writing the image. Choose
 +
method of writing the image and confirm your wish to write the image.
 +
 +
• Wait till upgrade succeeds
 +
 +
Note that it is not recommended to have your mini USB connected to an external USB hub. This
 +
might cause delays and might distort the signal levels. Always test with the USB connected straight to the USB ports of your computer.
 +
 +
Important: When Android runs for very first time it takes several minutes to initialize all files and buffers please do not cut the power supply during this process! Also when fresh image is installed fast boot may be disabled, which means that when you apply power supply after few seconds Android will go in sleep mode and you have to press POWER button to start it, you can change to fast boot when you power off there is dialog box asking you if you want next boot to be fast boot, you have to check this box before you power off. Also note that you must do touch screen calibration when you run Android for very first time which might require a mouse.
 +
 +
===How do I write the Linux image to a micro SD card to use with my A13 board?===
 +
 +
To write a Linux image to an SD card under Windows we use Win32 Disk Imager):
 +
 +
*Download Win32 Disk Imager [http://sourceforge.net/projects/win32diskimager/ Win32 Disk Imager]
 +
*Insert card
 +
*Start program
 +
*Select file
 +
*Click "write"
 +
 +
 +
To write a Linux image to an SD card under Linux:
 +
 +
For instance you have an image with the file name of "debian_2g.img". It would be downloaded to the SD card connected to a Linux machine using one of the following commands:
 +
 +
* # dd bs=4M oflag=sync if=debian_2g.img of=/dev/sdX
 +
or
 +
* # cp debian_2g.img /dev/sdX
 +
 +
 +
where X is the uSD card.
 +
 +
===How to change HDMI, VGA and LCD resolutions?===
 +
 +
 +
The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change to some other LCD, VGA or HDMI resolution then you have to start change_display.sh script file in /root directory.
 +
 +
Type:
 +
    ./change_display*
 +
or
 +
    ./change_display_A13.sh
 +
and press "Enter". 
 +
 +
Then choose the resolution and the interface(LCD, HDMI or VGA). Note that the selection of a specific resolution is done by navigating with the arrow keys and pressing "space" button. Make sure the asterisk marks your selection properly.
 +
 +
The supported resolutions are:
 +
 +
'''For LCD:'''
 +
 +
*1. 4.3" (480x272)
 +
*2. 7" (800x480)
 +
*3. 10" (1024x600)
 +
*4. 15.6" (1366x768)
 +
 +
Important: initially the boards are calibrated for a specific display. If you re-write the image (no matter whether the SD card or the NAND memory) you would need to use a mouse to calibrate the display initially. It might be impossible to calibrate it via touching the display.
 +
 +
'''For HDMI:'''
 +
 +
*0. 480i
 +
*1. 576i
 +
*2. 480p
 +
*3. 576p
 +
*4. 720p50
 +
*5. 720p60
 +
*6. 1080i50
 +
*7. 1080i60
 +
*8. 1080p24
 +
*9. 1080p50
 +
*10. 1080p60
 +
 +
'''For VGA:''' (note that the VGA signals are routed to custom 6 pin connector and you need from adapter to standard VGA connector)
 +
 +
*0. 1680x1050
 +
*1. 1440x900
 +
*2. 1360x768
 +
*3. 1280x1024
 +
*4. 1024x768
 +
*5. 800x600
 +
*6. 640x480
 +
*7. 1920x1080
 +
*8. 1280x720
 +
<br>
 +
 +
===How to control PWM under Linux? ===
 +
 +
There is an article here: [[how to add pwm]]
 +
===How to edit board configurations and definitions in the official Debian Linux? ===
 +
 +
The biggest part of the board configuration might be edited, changed or improved in a file called script.bin
 +
 +
The script.bin file can usually be found in the main directory of a microSD card prepared with official Debian image. The folder containing the script can be inspected under both Windows, Linux or Mac.
 +
 +
You can't directly edit binary file so you would need to convert it to text format (it is called fex in this case), then edit the parameters via a text editor and finally switch it back to binary format.
 +
 +
The different options for the script are explained here: [http://linux-sunxi.org/Fex_Guide SUNXI FEX GUIDE]
 +
 +
IMPORTANT! ADJUSTING SCRIPT.BIN WITH IMPROPER VALUES MIGHT BREAK YOUR DEBIAN IMAGE AND IT IS ALWAYS RECOMMENDED TO KEEP A BACK-UP OF YOUR DEFAULT SCRIPT.BIN
 +
 +
To convert back and fort the script.bin you might use different tools. You can find Windows tools here: [https://github.com/OLIMEX/OLINUXINO/tree/master/SOFTWARE/fex-bin-convertor-windows SUNXI TOOLS FOR WINDOWS] . For Linux convertors please check the sunxi tools here: [https://github.com/linux-sunxi/sunxi-tools SUNXI TOOLS]
 +
 +
Note that it is possible to change the script.bin in a running Debian image in newest releases! More information might be found at the end of the document! Not all releases feature the live method of changing fex to bin so if you board doesn't have it follow the other methods.
 +
 +
Changing script.bin file without removing the microSD card:
 +
 +
The tools for script.bin changing are located in /opt/sunxi-tools directory
 +
<nowiki># cd /opt/sunxi-tools</nowiki>
 +
<nowiki># ./chscr.sh</nowiki>
 +
This will convert script.bin file from sdcard to script.fex file and the file  will be opened using nano editor.
 +
Now you can change the board modules and parameters, save the changes and exit from nano editor
 +
<nowiki># ./wrscr.sh</nowiki>
 +
this will convert script.fex to script.bin and the script.bin file will be written to sdcard.
 +
 +
 +
===How to properly calibrate a display under Debian===
 +
 +
If the problem is under Debian Linux make sure you are properly logged in the XFCE interface! Else applying calibration would not happen for the current user - if you are calibrating from the X graphical interface make sure that you are logged as user “olimex” (if calibrating without the X, the user is “root”).
 +
 +
    #su olimex
 +
enter the olimex password:olimex
 +
 +
    #sudo ts_calibrate
 +
calibrate the touch screen and reboot the board
 +
 +
    #sudo reboot
 +
 +
It would be a good idea to test with Android or another Debian image also, it has a built-in calibration application by default.
  
  
  
 
[[Main_Page]]
 
[[Main_Page]]

Revision as of 23:23, 15 October 2014

A13-SOM-WIFI-1.jpg A13-SOM-WIFI-2.jpg

There are two versions of the extension board - with and without NAND memory, named respectively - A13-SOM-WIFI-4GB and A13-SOM-WIFI. The pictures above represent the version without NAND memory - the big empty pad for such additional memory is clearly visible at the bottom.

A13-SOM-WIFI features:

  • RTL8188CU
  • USB-OTG with mini USB connector
  • LCD_CON header
  • Power management DCDC
  • Support in the official A13-SOM Debian and Android releases
  • GPIO on 0.1" step holes


A13-SOM-WIFI features:

  • 4GB NAND Flash (optional)
  • RTL8188CU
  • USB-OTG with mini USB connector
  • LCD_CON header
  • Power management DCDC
  • Support in the official A13-SOM Debian and Android releases
  • GPIO on 0.1" step holes


Board support in the official Debian and Android images

The board features of A13-SOM-WIFI and A13-SOM-WIFI-4GB are supported in the official Debian and Android images released for A13-SOM-256 and A13-SOM-512. These images might be downloaded from the wiki article of the A13-SOM boards.

Documents

A13-SOM-WIFI.png

Hardware


Power supply and consumption

A13-SOM-WIFI is powered from the host board, which can be either A13-SOM-256 or A13-SOM-512

Power consumption is as follows:

Board dimensions

A13-SOM-WIFI basic dimensions are available in the .png file here:

Schematic

A13-SOM-WIFI schematic and CAD files are at GitHub

The CAD product used to design A13-SOM-WIFI is Eagle and you can download evaluation free version from their web.


Board Layout

Software

Linux Commands

Linux-Commands Brief Linux Command reference


Python

GPIO under Linux

How To?


How to correctly power off OLinuXino running from NAND Flash

In this Blog post we explain what are the problems. This is common problem for all computers running OS. Here you can read more about MLC NAND Flash and Linux file system.

How do I write the official Android image to a micro SD card for my A20 board?

There are two Android images available for an SD card. One for 7″ LCD and one for 10″ LCD A20-OLinuXino-MICRO#Android. Note that Android display configuration settings are edited in the script.bin file (it has to be converter to fex and edited according to the fex guide at linux sunxi's article; then converted back to script.bin and written in the image). To write the images on the SD card you will need PhoenixSuit and to follow these steps:

• Install and run PhoenixSuit

• Go to the firmware tab of the program and point to a valid Android image (note that the images on Gdrive are compressed and you have to extract them to .img files to be able write them with PhoenixSuit)

• Disconnect the power supply and USB cable from the A20 board. Put an SD card in micro SD holder. We recommend 4GB class 10 card.

• Press and hold RECOVERY button, apply power supply (6-16)V, release RECOVERY button.

• Connect USB cable to the mini USB connector.

• You will be asked for drivers for the boot-loader. Navigate to the folder where you extracted the PhoenixSuit and install the drivers from the respective executables (or manually point the installer to the drivers folder in the PhoenixSuit installation path).

• PhoenixSuit will detect the board and would ask for the method of writing the image. Choose method of writing the image and confirm your wish to write the image.

• Wait till upgrade succeeds

Note that it is not recommended to have your mini USB connected to an external USB hub. This might cause delays and might distort the signal levels. Always test with the USB connected straight to the USB ports of your computer.

Important: When Android runs for very first time it takes several minutes to initialize all files and buffers please do not cut the power supply during this process! Also when fresh image is installed fast boot may be disabled, which means that when you apply power supply after few seconds Android will go in sleep mode and you have to press POWER button to start it, you can change to fast boot when you power off there is dialog box asking you if you want next boot to be fast boot, you have to check this box before you power off. Also note that you must do touch screen calibration when you run Android for very first time which might require a mouse.

How do I write the Linux image to a micro SD card to use with my A13 board?

To write a Linux image to an SD card under Windows we use Win32 Disk Imager):

  • Download Win32 Disk Imager Win32 Disk Imager
  • Insert card
  • Start program
  • Select file
  • Click "write"


To write a Linux image to an SD card under Linux:

For instance you have an image with the file name of "debian_2g.img". It would be downloaded to the SD card connected to a Linux machine using one of the following commands:

  • # dd bs=4M oflag=sync if=debian_2g.img of=/dev/sdX

or

  • # cp debian_2g.img /dev/sdX


where X is the uSD card.

How to change HDMI, VGA and LCD resolutions?

The default SD card setup is made with settings for HDMI 720p/60Hz. If you want to change to some other LCD, VGA or HDMI resolution then you have to start change_display.sh script file in /root directory.

Type:

   ./change_display*

or

   ./change_display_A13.sh

and press "Enter".

Then choose the resolution and the interface(LCD, HDMI or VGA). Note that the selection of a specific resolution is done by navigating with the arrow keys and pressing "space" button. Make sure the asterisk marks your selection properly.

The supported resolutions are:

For LCD:

  • 1. 4.3" (480x272)
  • 2. 7" (800x480)
  • 3. 10" (1024x600)
  • 4. 15.6" (1366x768)

Important: initially the boards are calibrated for a specific display. If you re-write the image (no matter whether the SD card or the NAND memory) you would need to use a mouse to calibrate the display initially. It might be impossible to calibrate it via touching the display.

For HDMI:

  • 0. 480i
  • 1. 576i
  • 2. 480p
  • 3. 576p
  • 4. 720p50
  • 5. 720p60
  • 6. 1080i50
  • 7. 1080i60
  • 8. 1080p24
  • 9. 1080p50
  • 10. 1080p60

For VGA: (note that the VGA signals are routed to custom 6 pin connector and you need from adapter to standard VGA connector)

  • 0. 1680x1050
  • 1. 1440x900
  • 2. 1360x768
  • 3. 1280x1024
  • 4. 1024x768
  • 5. 800x600
  • 6. 640x480
  • 7. 1920x1080
  • 8. 1280x720


How to control PWM under Linux?

There is an article here: how to add pwm

How to edit board configurations and definitions in the official Debian Linux?

The biggest part of the board configuration might be edited, changed or improved in a file called script.bin

The script.bin file can usually be found in the main directory of a microSD card prepared with official Debian image. The folder containing the script can be inspected under both Windows, Linux or Mac.

You can't directly edit binary file so you would need to convert it to text format (it is called fex in this case), then edit the parameters via a text editor and finally switch it back to binary format.

The different options for the script are explained here: SUNXI FEX GUIDE

IMPORTANT! ADJUSTING SCRIPT.BIN WITH IMPROPER VALUES MIGHT BREAK YOUR DEBIAN IMAGE AND IT IS ALWAYS RECOMMENDED TO KEEP A BACK-UP OF YOUR DEFAULT SCRIPT.BIN

To convert back and fort the script.bin you might use different tools. You can find Windows tools here: SUNXI TOOLS FOR WINDOWS . For Linux convertors please check the sunxi tools here: SUNXI TOOLS

Note that it is possible to change the script.bin in a running Debian image in newest releases! More information might be found at the end of the document! Not all releases feature the live method of changing fex to bin so if you board doesn't have it follow the other methods.

Changing script.bin file without removing the microSD card:

The tools for script.bin changing are located in /opt/sunxi-tools directory # cd /opt/sunxi-tools # ./chscr.sh This will convert script.bin file from sdcard to script.fex file and the file will be opened using nano editor. Now you can change the board modules and parameters, save the changes and exit from nano editor # ./wrscr.sh this will convert script.fex to script.bin and the script.bin file will be written to sdcard.


How to properly calibrate a display under Debian

If the problem is under Debian Linux make sure you are properly logged in the XFCE interface! Else applying calibration would not happen for the current user - if you are calibrating from the X graphical interface make sure that you are logged as user “olimex” (if calibrating without the X, the user is “root”).

   #su olimex

enter the olimex password:olimex

   #sudo ts_calibrate

calibrate the touch screen and reboot the board

   #sudo reboot

It would be a good idea to test with Android or another Debian image also, it has a built-in calibration application by default.


Main_Page