Articles - Banana Pi/Orange Pi

Découverte du Banana Pi

  |   35614  |   Poster commentaire  |  Banana Pi/Orange Pi

Introduction


Le Banana Pi est un SBC (Single-Board-Computer), un nano-ordinateur un peu plus gros qu'une carte bleue comme il en existe tant d'autres. En effet, depuis le premier du genre qu'est le Raspberry Pi (Raspi) apparu en 2012, le pionnier en la matière, d'autres fabriquants (notamment chinois) surfent sur la vague. Depuis sont apparus (liste non exhaustive) :

  • BeagleBoard,
  • Cubieboard,
  • HummingBoard,
  • OLinuXino,
  • pcDuino,
  • ...
  • et enfin le Banana Pi.


Ils fonctionnent tous de la même façon et on obtient globalement les mêmes résultats avec, et "l'un n'est pas meilleur que l'autre". Leur point commun est d'utiliser un SoC (System-On-Chip) à l'architecture ARM. Une puce qui renferme presque tout ce dont on a besoin en standard comme composants sur un PC :

  • contrôleur USB
  • contrôleur réseau Ethernet
  • composant vidéo/graphique (GPU)
  • processeur (CPU)


L'avantage d'un SoC c'est qu'il n'est pas cher et ne chauffe pas car il consomme très peu d'énergie. De nombreux fabricants (Broadcomm, AllWinner, etc...) proposent ces puces, elles équipent également les smartphones et les tablettes. On peut aussi les retrouver dans des systèmes embarqués. Il en existe nombreux modèles divers et variés (selon le nombre de cœurs, leur fréquence et autres options).

Au niveau hardware



Beaucoup le présente comme un "clone" du Raspberry Pi, en fait c'est à la fois vrai et faux car en effet le concept est tout droit pompé du Raspi mais le SoC n'est pas le même et n'emploie pas tout à fait les mêmes modules (sunxi inside) au niveau du noyau Linux (kernel). Les specs. ne sont pas les mêmes non-plus.

Moi je le vois comme plutôt une alternative (plus intéressante) et une évolution que juste un clone. Même si en effet, niveau distribution, lemaker essaye de copier ce qui se fait sur le raspi, on le verra plus tard.

Tandis que le Raspberry Pi lui est fabriqué au Royaume-Uni, notre Banana Pi est lui, je vous le donne en mille : chinois. Ils copient tout !

Spécifications :

  • SoC: Allwinner A20 :
    - Processeur : ARM Cortex-A7 Dual Core 1Ghz (overclockable)
    - Processeur graphique : ARM Mali400 MP2 (Dual Core)
    - Accélération vidéo : CedarX
    - Contrôleur graphique : Allwinner A20 intégré, supporte le HDMI 1080p et le CVBS (composite, prise jaune)
  • Mémoire : 1Go de mémoire vive de type DDR3 (environ 880Mo utilisable, mémoire GPU et noyau en moins)
  • Stockage interne : 1 slot pour carte SD (maximum 64Go),
  • Stockage externe : Port SATA (avec connecteur d'alimentation séparé), supporte les disques jusqu'à 4To,
  • Réseau : Contrôleur Ethernet 10/100/1000 avec diodes lumineuses,
  • USB : 2 ports USB 2.0, 1 port USB OTG, 1 connecteur pour caméra CSI,
  • GPIO : 26 broches d'extension (prends en charge I²C, SPI, UART, bus CAN),
  • Boutons : 3 : Allumer/Éteindre (Power), Reset et Uboot,
  • Audio : 1 sortie audio stéréo sur prise minijack (3.5mm), sortie son sur HDMI (sélectionnable).
  • Extra :
    - 1 diode lumineuse à la disposition de l'utilisateur sur la carte,
    - 1 récepteur infrarouge (IR)
    - 1 microphone intégré
  • Dimensions: 9.2cm × 6cm; (Un peu plus grand que le Raspberry Pi)


Besoin de documentation technique (schémas) ?



Consultez ce dossier : http://jonathandupre.fr/files/bananapi/

Je vous y ai laissé quelques fichiers PDF bien utiles à télécharger. ;-)

Informations techniques



Code BASH :
root@bananapi ~ # lshw
bananapi
    description: Computer
    bits: 32 bits
  *-core
       description: Motherboard
       identifiant matériel: 0
     *-memory
          description: Mémoire système
          identifiant matériel: 0
          taille: 874MiB
     *-cpu
          identifiant matériel: 1
          information bus: cpu@0
          taille: 600MHz
          capacité: 600MHz
          fonctionnalités: cpufreq
  *-network
       description: Ethernet interface
       identifiant matériel: 1
       nom logique: eth0
       numéro de série: 02:45:08:c1:2b:b5
       taille: 1Gbit/s
       capacité: 1Gbit/s
       fonctionnalités: ethernet physical tp aui bnc mii fibre 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
       configuration: autonegotiation=on broadcast=yes driver=sunxi_gmac driverversion=SUNXI GMAC driver V0.1 duplex=full ip=192.168.0.178 link=yes multicast=yes port=MII speed=1Gbit/s
 


Code BASH :
root@bananapi ~ # lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
 


Code BASH :
root@bananapi ~ # cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 4 (v7l)
processor       : 0
BogoMIPS        : 1192.96
processor       : 1
BogoMIPS        : 1197.05
Features        : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x0
CPU part        : 0xc07
CPU revision    : 4
Hardware        : sun7i
Revision        : 0000
 


Code TEXT :
[    0.000000] Booting Linux on physical CPU 0
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.4.90+ (root@nico-desktop) (gcc version 4.8.2 (Ubuntu/Linaro 4.8.2-16ubuntu4) ) #1 SMP PREEMPT Fri Sep 12 18:13:45 CEST 2014
[    0.000000] CPU: ARMv7 Processor [410fc074] revision 4 (ARMv7), cr=10c5387d
[    0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: sun7i
[    0.000000] Memory Reserved:
[    0.000000] SYS  : 0x43000000 - 0x4300ffff  (  64 kB)
[    0.000000] VE   : 0x44000000 - 0x48ffffff  (  80 MB)
[    0.000000] G2D  : 0x49000000 - 0x49ffffff  (  16 MB)
[    0.000000] LCD  : 0x4a000000 - 0x4bffffff  (  32 MB)
[    0.000000] Memory policy: ECC disabled, Data cache writealloc
[    0.000000] sunxi: Allwinner A20 (AW1651/sun7i) detected.
[    0.000000] On node 0 totalpages: 262144
[    0.000000] free_area_init_node: node 0, pgdat c09089c0, node_mem_map d0000000
[    0.000000]   DMA zone: 512 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 65024 pages, LIFO batch:15
[    0.000000]   Normal zone: 1008 pages used for memmap
[    0.000000]   Normal zone: 128016 pages, LIFO batch:31
[    0.000000]   HighMem zone: 528 pages used for memmap
[    0.000000]   HighMem zone: 67056 pages, LIFO batch:15
[    0.000000] PERCPU: Embedded 7 pages/cpu @d0808000 s7616 r8192 d12864 u32768
[    0.000000] pcpu-alloc: s7616 r8192 d12864 u32768 alloc=8*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
[    0.000000] Kernel command line: console=ttyS0,115200 console=tty0 disp.screen0_output_mode=EDID:1280x720p50 hdmi.audio=EDID:0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] allocated 2097152 bytes of page_cgroup
[    0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups
[    0.000000] Memory: 1024MB = 1024MB total
[    0.000000] Memory: 895168k/895168k available, 153408k reserved, 270336K highmem
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 - 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
[    0.000000]     vmalloc : 0xf0000000 - 0xff000000   ( 240 MB)
[    0.000000]     lowmem  : 0xc0000000 - 0xef800000   ( 760 MB)
[    0.000000]     pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 - 0xbfe00000   (  14 MB)
[    0.000000]       .text : 0xc0008000 - 0xc0860818   (8547 kB)
[    0.000000]       .init : 0xc0861000 - 0xc089adc0   ( 232 kB)
[    0.000000]       .data : 0xc089c000 - 0xc09105f0   ( 466 kB)
[    0.000000]        .bss : 0xc0910614 - 0xc0ae02d8   (1856 kB)
[    0.000000] SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] RCU dyntick-idle grace-period acceleration is enabled.
[    0.000000] Additional per-CPU info printed with stalls.
[    0.000000] NR_IRQS:192
[    0.000000] Architected local timer running at 24.00MHz.
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[    0.000000] start_kernel(): bug: interrupts were enabled early
[    0.000000] Console: colour dummy device 80x30
[    0.000000] console [tty0] enabled
[    0.013650] Calibrating delay loop... 1908.73 BogoMIPS (lpj=9543680)
[    0.075990] pid_max: default: 32768 minimum: 301
[    0.079669] Mount-cache hash table entries: 512
[    0.083891] Initializing cgroup subsys cpuacct
[    0.087228] Initializing cgroup subsys memory
[    0.090660] Initializing cgroup subsys devices
[    0.094102] Initializing cgroup subsys freezer
[    0.097337] Initializing cgroup subsys blkio
[    0.101019] Initializing cgroup subsys perf_event
[    0.104603] CPU: Testing write buffer coherency: ok
[    0.109796] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
[    0.116906] hw perfevents: enabled with ARMv7 Cortex-A7 PMU driver, 5 counters available
[    0.122454] Setting up static identity map for 0x405d38e8 - 0x405d3940
[    0.238486] CPU1: Booted secondary processor
[    0.297328] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
[    0.299329] Brought up 2 CPUs
[    0.304666] SMP: Total of 2 processors activated (3824.02 BogoMIPS).
[    0.307874] devtmpfs: initialized
[    0.313128] dummy: 
[    0.316817] NET: Registered protocol family 16
[    0.323050] DMA: preallocated 256 KiB pool for atomic coherent allocations
[    0.330717] hw-breakpoint: found 5 (+1 reserved) breakpoint and 4 watchpoint registers.
[    0.335608] hw-breakpoint: maximum watchpoint size is 8 bytes.
[    0.338771] [ccu-inf] aw clock manager init
[    0.341050] [ccu-inf] aw_ccu_init
[    0.345018] [ccu-inf] script config pll3 to 297MHz
[    0.348780] [ccu-inf] script config pll4 to 300MHz
[    0.352537] [ccu-inf] script config pll6 to 600MHz
[    0.356309] [ccu-inf] script config pll7 to 297MHz
[    0.360064] [ccu-inf] script config pll8 to 336MHz
[    0.362824] Init eGon pin module V2.0
[    0.371995] bio: create slab <bio-0> at 0
[    0.375467] sunxi_gpio driver init ver 1.3
[    0.381742] gpiochip_add: registered GPIOs 1 to 88 on device: A1X_GPIO
[    0.384903] SCSI subsystem initialized
[    0.387772] libata version 3.00 loaded.
[    0.392396] usbcore: registered new interface driver usbfs
[    0.396768] usbcore: registered new interface driver hub
[    0.400958] usbcore: registered new device driver usb
[    0.404095] Linux media interface: v0.10
[    0.407728] Linux video capture interface: v2.00
[    0.413471] Advanced Linux Sound Architecture Driver Version 1.0.25.
[    0.418754] Switching to clocksource arch_sys_counter
[    0.420860] FS-Cache: Loaded
[    0.423029] CacheFiles: Loaded
[    0.434216] cfg80211: Calling CRDA to update world regulatory domain
[    0.438918] WRN:L287(drivers/usb/sunxi_usb/manager/usb_manager.c):ERR: det_vbus pin is invaild
[    0.446260] WRN:L426(drivers/usb/sunxi_usb/manager/usb_manager.c):ERR: check_usb_board_info failed
[    0.453938] WRN:L480(drivers/usb/sunxi_usb/manager/usb_manager.c):ERR: get_usb_cfg failed
[    0.460145] NET: Registered protocol family 2
[    0.466540] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    0.473401] TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
[    0.480859] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[    0.487483] TCP: Hash tables configured (established 131072 bind 65536)
[    0.489680] TCP: reno registered
[    0.494576] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    0.499920] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    0.503563] NET: Registered protocol family 1
[    0.508856] RPC: Registered named UNIX socket transport module.
[    0.512571] RPC: Registered udp transport module.
[    0.516238] RPC: Registered tcp transport module.
[    0.521637] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.527129] audit: initializing netlink socket (disabled)
[    0.530841] type=2000 audit(0.510:1): initialized
[    0.535025] highmem bounce pool size: 64 pages
[    0.546307] VFS: Disk quotas dquot_6.5.2
[    0.551801] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[    0.558822] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.563501] NFS: Registering the id_resolver key type
[    0.567988] NTFS driver 2.1.30 [Flags: R/W].
[    0.571434] fuse init (API version 7.18)
[    0.574885] msgmni has been set to 1220
[    0.585199] alg: comp: Compression test 1 failed for lzo-generic: output len = 57
[    0.588497] alg: No test for stdrng (krng)
[    0.595274] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.598177] io scheduler noop registered
[    0.602275] io scheduler deadline registered (default)
[    0.605139] io scheduler cfq registered
[    0.609910] sunxi disp driver loaded (/dev/disp api 1.0)
[    0.615656] Serial: 8250/16550 driver, 32 ports, IRQ sharing disabled
[    0.623656] [uart]: used uart info.: 0x8d
[    0.628364] [uart]: serial probe 0 irq 33 mapbase 0x01c28000
[    0.654599] sunxi-uart.0: ttyS0 at MMIO 0x1c28000 (irq = 33) is a U6_16550A
[    1.279880] console [ttyS0] enabled
[    1.288242] [uart]: serial probe 2 irq 35 mapbase 0x01c28800
[    1.320081] sunxi-uart.2: ttyS1 at MMIO 0x1c28800 (irq = 35) is a U6_16550A
[    1.331892] [uart]: serial probe 3 irq 36 mapbase 0x01c28c00
[    1.363701] sunxi-uart.3: ttyS2 at MMIO 0x1c28c00 (irq = 36) is a U6_16550A
[    1.375496] [uart]: serial probe 7 irq 52 mapbase 0x01c29c00
[    1.407295] sunxi-uart.7: ttyS3 at MMIO 0x1c29c00 (irq = 52) is a U6_16550A
[    1.416793] G2D: drv_g2d_init
[    1.421495] G2D: g2dmem: g2d_start=49000000, g2d_size=1000000
[    1.430497] G2D: head:c9000000,tail:ca000000
[    1.438122] G2D: Module initialized.major:250
[    1.451041] brd: module loaded
[    1.459641] loop: module loaded
[    1.466661] gpio count < =0 ,gpio_count is: 0
[    1.476981] sw_ahci sw_ahci.0: controller can't do PMP, turning off CAP_PMP
[    1.488221] sw_ahci sw_ahci.0: forcing PORTS_IMPL to 0x1
[    1.500977] sw_ahci sw_ahci.0: AHCI 0001.0100 32 slots 1 ports 3 Gbps 0x1 impl platform mode
[    1.515868] sw_ahci sw_ahci.0: flags: ncq sntf pm led clo only pio slum part ccc 
[    1.526619] scsi0 : sw_ahci_platform
[    1.537413] ata1: SATA max UDMA/133 mmio [mem 0x01c18000-0x01c18fff] port 0x100 irq 88
[    1.549189] Fixed MDIO Bus: probed
[    1.557297] eth%d: device MAC address 02:45:08:c1:2b:b5
[    1.565511] gmac_para gpio count is 18
[    1.570730] [gmac]: sun6i_gmac platform driver registration completed
[    1.574026] PPP generic driver version 2.4.2
[    1.582213] PPP BSD Compression module registered
[    1.590947] PPP Deflate Compression module registered
[    1.599409] NET: Registered protocol family 24
[    1.609608] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.621348] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.629944] [sw-ehci1]: open clock
[    1.652578] [sw-ehci1]: Set USB Power ON
[    1.659014] sw-ehci sw-ehci.1: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.672728] sw-ehci sw-ehci.1: new USB bus registered, assigned bus number 1
[    1.684171] sw-ehci sw-ehci.1: irq 71, io mem 0x01c14000
[    1.713194] sw-ehci sw-ehci.1: USB 2.0 started, EHCI 1.00
[    1.721211] ehci_irq: port change detect
[    1.727071] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.740047] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.753709] usb usb1: Product: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.765640] usb usb1: Manufacturer: Linux 3.4.90+ ehci_hcd
[    1.774267] usb usb1: SerialNumber: sw-ehci
[    1.781684] hub 1-0:1.0: USB hub found
[    1.788335] hub 1-0:1.0: 1 port detected
[    1.794813] [sw-ohci1]: open clock
[    1.820907] sw-ohci sw-ohci.1: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    1.834301] sw-ohci sw-ohci.1: new USB bus registered, assigned bus number 2
[    1.845671] sw-ohci sw-ohci.1: irq 96, io mem 0x01c14400
[    1.893204] ata1: SATA link down (SStatus 0 SControl 300)
[    1.918642] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001
[    1.931628] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.944946] usb usb2: Product: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    1.956524] usb usb2: Manufacturer: Linux 3.4.90+ ohci_hcd
[    1.965154] usb usb2: SerialNumber: sw-ohci
[    1.972525] hub 2-0:1.0: USB hub found
[    1.979171] hub 2-0:1.0: 1 port detected
[    1.985654] [sw-ehci2]: open clock
[    2.008331] [sw-ehci2]: Set USB Power ON
[    2.014766] sw-ehci sw-ehci.2: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.028495] sw-ehci sw-ehci.2: new USB bus registered, assigned bus number 3
[    2.039930] sw-ehci sw-ehci.2: irq 72, io mem 0x01c1c000
[    2.051477] ehci_irq: port change detect
[    2.111491] The port change to OHCI now!
[    2.133194] sw-ehci sw-ehci.2: USB 2.0 started, EHCI 1.00
[    2.144413] usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
[    2.157393] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.171059] usb usb3: Product: SW USB2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.182988] usb usb3: Manufacturer: Linux 3.4.90+ ehci_hcd
[    2.191617] usb usb3: SerialNumber: sw-ehci
[    2.198994] hub 3-0:1.0: USB hub found
[    2.205654] hub 3-0:1.0: 1 port detected
[    2.212157] [sw-ohci2]: open clock
[    2.238254] sw-ohci sw-ohci.2: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    2.251635] sw-ohci sw-ohci.2: new USB bus registered, assigned bus number 4
[    2.263006] sw-ohci sw-ohci.2: irq 97, io mem 0x01c1c400
[    2.324239] usb 2-1: new full-speed USB device number 2 using sw-ohci
[    2.329979] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    2.349338] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.362627] usb usb4: Product: SW USB2.0 'Open' Host Controller (OHCI) Driver
[    2.374182] usb usb4: Manufacturer: Linux 3.4.90+ ohci_hcd
[    2.382786] usb usb4: SerialNumber: sw-ohci
[    2.389656] hub 4-0:1.0: USB hub found
[    2.396266] hub 4-0:1.0: 1 port detected
[    2.404003] Initializing USB Mass Storage driver...
[    2.413821] usbcore: registered new interface driver usb-storage
[    2.423381] USB Mass Storage support registered.
[    2.432506] mousedev: PS/2 mouse device common for all mice
[    2.442671] input: sunxi-ir as /devices/virtual/input/input0
[    2.449631] IR Initial OK
[    2.454619] sunxi-rtc sunxi-rtc: Warning: RTC time is wrong!
[    2.465601] sunxi-rtc sunxi-rtc: rtc core: registered rtc as rtc0
[    2.474204] i2c /dev entries driver
[    2.481456] config i2c gpio with gpio_config api
[    2.487055] axp_mfd 0-0034: AXP (CHIP ID: 0x41) detected
[    2.498195] axp_mfd 0-0034: AXP internal temperature monitoring enabled
[    2.509965] [AXP]axp driver uning configuration failed(342)
[    2.511917] [AXP]power_start = 0
[    2.514978] I2C: i2c-0: AW16XX I2C adapter
[    2.522475] config i2c gpio with gpio_config api
[    2.525844] I2C: i2c-1: AW16XX I2C adapter
[    2.533353] config i2c gpio with gpio_config api
[    2.536660] I2C: i2c-2: AW16XX I2C adapter
[    2.544161] config i2c gpio with gpio_config api
[    2.547468] I2C: i2c-3: AW16XX I2C adapter
[    2.553399] [ace_drv] start!!!
[    2.555742] [ace_drv] init end!!!
[    2.557407] [pa_drv] start!!!
[    2.559604] [pa_drv] init end!!!
[    2.563723] Driver for 1-wire Dallas network protocol.
[    2.573070] invalid gpio pin in fex configuration : -1
[    2.580612] axp20_ldo1: 1300 mV 
[    2.589038] axp20_ldo2: 1800 <--> 3300 mV at 3000 mV 
[    2.599391] axp20_ldo3: 700 <--> 3500 mV at 2800 mV 
[    2.609496] axp20_ldo4: 1250 <--> 3300 mV at 2800 mV 
[    2.619869] axp20_buck2: 700 <--> 2275 mV at 1450 mV 
[    2.630115] axp20_buck3: 700 <--> 3500 mV at 1300 mV 
[    2.640072] axp20_ldoio0: 1800 <--> 3300 mV at 2800 mV 
[    2.654893] input: axp20-supplyer as /devices/platform/sunxi-i2c.0/i2c-0/0-0034/axp20-supplyer.28/input/input1
[    2.674565] usb 2-1: New USB device found, idVendor=041e, idProduct=3042
[    2.685698] axp20_ldo2: Failed to create debugfs directory
[    2.694739] device-mapper: uevent: version 1.0.3
[    2.705570] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    2.712957] device-mapper: ioctl: 4.22.0-ioctl (2011-10-19) initialised: dm-devel@redhat.com
[    2.731540] cpuidle: using governor ladder
[    2.738498] cpuidle: using governor menu
[    2.744674] [mmc-msg] sw_mci_init
[    2.753624] [mmc-msg] MMC host used card: 0x1, boot card: 0x0, io_card 0
[    2.765177] [mmc-msg] sdc0 set round clock 400000, src 24000000
[    2.779070] [mmc-msg] sdc0 set ios: clk 0Hz bm OD pm OFF vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    2.795224] [mmc-msg] sdc0 Probe: base:0xf0154000 irq:64 sg_cpu:f0156000(4fc00000) ret 0.
[    2.807909] [mmc_pm]: failed to fetch sdio card configuration!
[    2.811699] usb 2-1: Product: SB X-Fi Surround 5.1
[    2.814054] sunxi_leds driver init
[    2.825966] Registered led device: green:ph24:led1
[    2.830087] usb 2-1: Manufacturer: Creative Technology
[    2.835043] ledtrig-cpu: registered to indicate activity on CPUs
[    2.850672] usbcore: registered new interface driver usbhid
[    2.859019] usbhid: USB HID core driver
[    2.864935] ashmem: initialized
[    2.871553] logger: created 256K log 'log_main'
[    2.879724] logger: created 256K log 'log_events'
[    2.887983] logger: created 256K log 'log_radio'
[    2.896240] logger: created 256K log 'log_system'
[    2.904066] IPv4 over IPv4 tunneling driver
[    2.910332] TCP: bic registered
[    2.915728] TCP: cubic registered
[    2.921550] TCP: westwood registered
[    2.927725] TCP: highspeed registered
[    2.933633] TCP: hybla registered
[    2.939113] TCP: htcp registered
[    2.944593] TCP: vegas registered
[    2.950068] TCP: veno registered
[    2.955808] TCP: scalable registered
[    2.961369] TCP: lp registered
[    2.966589] TCP: yeah registered
[    2.972324] TCP: illinois registered
[    2.979105] Initializing XFRM netlink socket
[    2.986754] NET: Registered protocol family 10
[    2.994580] NET: Registered protocol family 17
[    3.002406] NET: Registered protocol family 15
[    3.011442] [mmc_pm]: No sdio card, please check your config !!
[    3.015166] Registering the dns_resolver key type
[    3.022032] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 4
[    3.038291] Registering SWP/SWPB emulation handler
[    3.047706] axp20_buck2: Failed to create debugfs directory
[    3.059509] [cpu_freq] INF:-------------------V-F Table-------------------
[    3.071451] [cpu_freq] INF:voltage = 1450mv frequency = 1008MHz
[    3.082597] [cpu_freq] INF:voltage = 1425mv frequency =  912MHz
[    3.093743] [cpu_freq] INF:voltage = 1350mv frequency =  864MHz
[    3.104887] [cpu_freq] INF:voltage = 1250mv frequency =  720MHz
[    3.116030] [cpu_freq] INF:voltage = 1150mv frequency =  528MHz
[    3.127173] [cpu_freq] INF:voltage = 1100mv frequency =  312MHz
[    3.138315] [cpu_freq] INF:voltage = 1050mv frequency =  144MHz
[    3.149457] [cpu_freq] INF:voltage = 1000mv frequency =    0MHz
[    3.161378] [cpu_freq] INF:-----------------------------------------------
[    3.177990] [cpu_freq] INF:sunxi_cpufreq_initcall, get cpu frequency from sysconfig, max freq: 912MHz, min freq: 720MHz
[    3.192520] registered taskstats version 1
[    3.201047] I2C: i2c-4: HDMI I2C adapter
[    3.230058] ParseEDID
[    3.247023] EDID version: 1.3
[    3.256272] PCLK=148500000 X 1920 2008 2052 2200 Y 1080 1084 1089 1125 fr 60 PP
[    3.267425] Using above mode as preferred EDID mode
[    3.278139] PCLK=74250000 X 1280 1390 1430 1650 Y 720 725 730 750 fr 60 PP
[    3.300994] disp_clk: Could not find a matching pll-freq for 53900000 pclk
[    3.313709] disp_clk: Could not find a matching pll-freq for 53900000 pclk
[    3.326507] disp_clk: Could not find a matching pll-freq for 108100000 pclk
[    3.339299] disp_clk: Could not find a matching pll-freq for 74200000 pclk
[    3.352004] disp_clk: Could not find a matching pll-freq for 72650000 pclk
[    3.364799] disp_clk: Could not find a matching pll-freq for 146850000 pclk
[    3.377595] disp_clk: Could not find a matching pll-freq for 83650000 pclk
[    3.390301] disp_clk: Could not find a matching pll-freq for 78800000 pclk
[    3.403009] disp_clk: Could not find a matching pll-freq for 53450000 pclk
[    3.415717] disp_clk: Could not find a matching pll-freq for 27100000 pclk
[    3.428416] disp_clk: Could not find a matching pll-freq for 26150000 pclk
[    3.439742] Parse_VideoData_Block: VIC 16 (native) support
[    3.448811] Parse_VideoData_Block: VIC 4 support
[    3.457092] Parse_VideoData_Block: VIC 31 support
[    3.465370] Parse_VideoData_Block: VIC 5 support
[    3.473650] Parse_VideoData_Block: VIC 20 support
[    3.482006] Parse_VideoData_Block: VIC 19 support
[    3.490370] Parse_VideoData_Block: VIC 18 support
[    3.498650] Parse_VideoData_Block: VIC 3 support
[    3.506842] Parse_AudioData_Block: max channel=2
[    3.515380] Parse_AudioData_Block: SampleRate code=7
[    3.524005] Parse_AudioData_Block: WordLen code=7
[    3.532187] Find HDMI Vendor Specific DataBlock
[    3.542552] PCLK=74250000 X 1920 2448 2492 2640 Y 540 542 547 562 fr 50 PP
[    3.555262] PCLK=74250000 X 1920 2008 2052 2200 Y 540 542 547 562 fr 60 PP
[    3.567971] PCLK=74250000 X 1280 1720 1760 1980 Y 720 725 730 750 fr 50 PP
[    3.580332] PCLK=27000000 X 720 732 796 864 Y 576 581 586 625 fr 50 NN
[    3.592347] PCLK=27000000 X 720 736 798 858 Y 480 489 495 525 fr 59 NN
[    3.604324] asoc: sndhdmi <-> sunxi-hdmiaudio.0 mapping ok
[    3.613718] waited 0 ms for EDID info
[    3.623923] disp clks: lcd 148500000 pre_scale 1 hdmi 148500000 pll 297000000 2x 0
[    3.707732] [mmc-msg] mmc 0 detect change, present 1
[    4.216751] [mmc-msg] sdc0 set ios: clk 0Hz bm PP pm UP vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.228185] [mmc-msg] sdc0 power on
[    4.257180] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.271482] [mmc-msg] sdc0 set round clock 400000, src 24000000
[    4.354482] [mmc-err] smc 0 err, cmd 52,  RTO
[    4.362982] [mmc-err] smc 0 err, cmd 52,  RTO
[    4.375693] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.395817] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.410572] [mmc-err] smc 0 err, cmd 5,  RTO
[    4.418892] [mmc-err] smc 0 err, cmd 5,  RTO
[    4.427212] [mmc-err] smc 0 err, cmd 5,  RTO
[    4.435530] [mmc-err] smc 0 err, cmd 5,  RTO
[    4.448791] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.466539] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.486655] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing LEGACY(SDR12) dt B
[    4.538983] [mmc-msg] sdc0 set ios: clk 400000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[    4.577246] [mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 1 timing SD-HS(SDR25) dt B
[    4.603964] [mmc-msg] sdc0 set round clock 42857143, src 600000000
[    4.692380] [mmc-msg] sdc0 set ios: clk 50000000Hz bm PP pm ON vdd 3.3V width 4 timing SD-HS(SDR25) dt B
[    4.696875] mmc0: new high speed SDHC card at address 0002
[    4.700852] mmcblk0: mmc0:0002 00000 7.41 GiB 
[    4.704310]  mmcblk0: p1 p2
[    4.707831] Console: switching to colour frame buffer device 240x67
[    4.775804] axp20_buck3: incomplete constraints, leaving on
[    4.786308] axp20_buck2: incomplete constraints, leaving on
[    4.796711] axp20_ldo4: incomplete constraints, leaving on
[    4.807016] axp20_ldo3: incomplete constraints, leaving on
[    4.817317] axp20_ldo2: incomplete constraints, leaving on
[    4.827621] axp20_ldo1: incomplete constraints, leaving on
[    4.836205] console [netcon0] enabled
[    4.843475] netconsole: network logging started
[    4.852291] otg_wakelock_init: No USB transceiver found
[    4.865160] sunxi-rtc sunxi-rtc: setting system clock to 2010-01-01 00:00:00 UTC (1262304000)
[    4.875958] ALSA device list:
[    4.882072]   #0: sunxi-CODEC  Audio Codec
[    4.888359]   #1: sunxi-sndhdmi
[    4.897572] md: Waiting for all devices to be available before autodetect
[    4.909167] md: If you don't use raid, use raid=noautodetect
[    4.918668] md: Autodetecting RAID arrays.
[    4.926302] md: Scanned 0 and added 0 devices.
[    4.932608] md: autorun ...
[    4.937737] md: ... autorun DONE.
[    4.984879] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    4.998241] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    5.017363] devtmpfs: mounted
[    5.023460] Freeing init memory: 228K
[    5.936773] udevd[168]: starting version 175
[    6.565003] usbcore: registered new interface driver snd-usb-audio
[    9.226203] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   11.762089] Adding 524284k swap on /swapfile1.  Priority:-1 extents:8 across:868348k SS
[   13.627889] GMAC gpio_power_hd:gpio_direction_output
[   13.900117] eth0: device MAC address 02:45:08:c1:2b:b5
[   13.946060] sunxi_gmac: probed
[   13.964283] eth0: PHY ID 001cc915 at 0 IRQ 0 (sunxi_gmac-0:00) active
[   13.985193] eth0: PHY ID 001cc915 at 1 IRQ 0 (sunxi_gmac-0:01)
[   20.002045] PHY: sunxi_gmac-0:00 - Link is Up - 1000/Full
[   24.291842] eth0: no IPv6 routers present
[   28.500991] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered



Le système d'exploitation




Toutes ces cartes ne savent faire tourner que Linux (ou d'autres OS basés dessus - Unix-like). Il vous sera impossible de lancer (et même de toute façon d'installer) Windows XP ou 7 dessus que ce soit en 32 ou 64 bits. Il s'agit d'un problème d'architecture du fait que Windows est prévu (compilé) pour du x86 (CISC) et non de l'ARM (RISC), ce ne sont pas les mêmes jeux d'instructions. Même si Windows RT est prévu pour de l'ARM.

Linux oblige, autant vous le dire toute de suite, il faudra mettre un tant soit peu les mains dans le cambouis. J'espère que la ligne de commande ne vous fait pas peur (du moins au début).

<span class="notice">Attention : Depuis février 2015, il existe le Raspberry Pi 2 modèle B (à ne pas confondre avec le modèle B+ qui est de la gamme Raspberry Pi 1) qui lui serait compatible avec le futur Windows 10.</span>

Pour qui ?




Je me souviens que lorsque le Raspi est sorti, beaucoup l'avait encensé en disant qu'on pourrait même remplacer un PC de bureau avec. Du genre : "même madame Michu pourra s'en servir". Un PC bureautique oui peut-être mais basique et encore sous Linux, ce qui ne va pas forcément lui plaire cette pauvre madame Michu a toujours utilisé du Windows ou du Apple Mac OS jusque là. Et puis allez lui expliquer qu'il faut qu'elle appui sur un bouton minuscule pour l'allumer ! Bref ce n'est pas assez convivial pour les gens "normaux". Il est clair que ce genre de bestioles est plutôt destiné aux jeunes geeks, power-users et autres bidouilleurs en électronique déjà à l'aise avec l'informatique.


Le Banana Pi vs Raspberry Pi



En 2014, je voulais quand même m'acheter un de ces trucs, histoire de bidouiller dessus. Et pile au moment où je faisait mes recherches sur le sujet, le modèle B+ est sorti. Miam, 2 ports USB supplémentaire et moins de soucis d'alimentation !

Seul problème, comme vous l'aurez compris (ou vous le savez déjà), il ne s'agit que d'une évolution mineure du modèle B. C'est à dire qu'on se retrouve toujours avec un CPU mono-cœur à 700Mhz et 512Mo de RAM. Je trouvais ça un peu limite car je voulais en profiter pour faire du codage et voire si on pouvait potentiellement faire tourner convenablement du java avec et jouer avec Netbeans ou Eclipse. Je me suis dit que 512Mo était limite et les 700Mhz aussi pour un environnement graphique + un IDE (même si ça reste overclockable à 900Mhz). Voilà pourquoi j'ai pris le Banana Pi. Bon, c'est sûr il est plus cher mais surement plus pêchu niveau performances et c'est le cas.

Par contre, d'après ce que j'ai pu lire sur certains forums, la partie GPU du AllWinner A20 est un processeur Mali-400 MP/MP2, qui visiblement ne casse pas des barres et dont les "pilotes" (modules) ne sont pas optimisés. Espérons que cela soit corrigé par la suite par la team Sunxi.

Pour quelle utilisation ? (Mon impression)



Et là ce fût un peu la déception, mais le résultat est quand même pas mal pour un si petit objet. Le boot est rapide, mais lui faire afficher les pages Internet avec du CSS et autres images de pub (merci Adblock) devient pénible dès que vous ouvrez le deuxième onglet. Nickel en bureautique évidemment, mais n’espérez pas faire du multi-tâches intensif et oubliez les vidéos Youtube fluides en HD. Le décodage de vidéo Divx ou MKV est par contre parfaitement fluide. Le déplacement des fenêtres a quand même du mal à suivre avec les effets 3D (compizz). Bref dès qu'on joue un peu avec une souris ça rame. Je n'ai pas testé la HD (1080p) mais certains l'on déjà fait sur Youtube et visiblement ils en sont bien contents.

Pour moi, sa meilleure place est dans une fonction serveur ou HTPC (bref ne doit faire qu'une chose/tâche à la fois). En effet de part sa faible consommation, une fonctionnement H24 ne se verrai pas trop sur la facture d'électricité. N'espérez pas atteindre les performances ne serait-ce que d'un Intel Celeron (de nos jours) avec cela. Mais bon peut-être que sous Android il se débrouille mieux, à tester.

Franchement je m'attendais à mieux après toutes les louanges que j'avais pu lire sur l'architecture ARM dans la presse jusque là. Même si il est évident qu'un processeur comme ça qui ne chauffe pas on ne peut pas lui demander une puissance phénoménale non plus. Du coup je me demande comment font ceux qui ont un simple Raspi.

Une petite vidéo en anglais de GreatScott qui compare les deux :





Scott teste un transfert de fichier en SSH via WinSCP, il constate que le transfert est plus rapide avec le Banana Pi qu'avec le Raspi. Oui certes le Banana Pi possède un port 1Gbit/s alors que le Raspi lui n'est qu'en 100Mbit/s.
Il passe donc de 3.2Mo/s à à peu près 5-6Mo/s lors de son transfert. Seulement en fait cela n'est pas dû aux 1Gbit/s du contrôleur Ethernet du Banana Pi mais à la présence d'un processeur plus rapide pour déchiffrer (clé RSA/DSA) son transfert en liaison SSH ! De plus l'architecture n'étant pas la même entre le Raspi et le Banana Pi : le contrôleur Ethernet passe par le bus USB sur le Raspi ce qui constitue un goulet d'étranglement et donc limite la bande passante.

Quelques idées de quoi faire :

  • Automate/Domotique (surveillance/alarme, machinerie, robotisation, etc...)
  • Borne arcade / retrogaming
  • HTPC
  • Routeur (WRT)
  • Serveur encoding MP3/OGG Vorbis temps réel pour Webradio (ices2/icecast)
  • Serveur web, petit site local avec peu de clients (apache, mysql)
  • Serveur cloud - NAS à distance (owncloud)
  • Serveur supervision (nagios/centreon)


Mais à mon avis, honnêtement dans la plupart des cas un simple Raspberry Pi (un seul cœur) moins cher pourrait faire l'affaire. (Depuis les modèles Raspi 2 et 3 sont sortis entre temps.)

Ce qu'il faut pour démarrer



Voici les éléments nécessaires :

  • Un Banana Pi


banana3



C'est quand même l'essentiel. :D

  • Un câble Micro-USB


microusb



Il sert pour alimenter le Banana Pi en énergie. Selon ce que vous reliez ensuite au Banana Pi et ce que vous faites tourner comme programme, la consommation peut monter jusqu'à 1.6A (5 Volts).

banana1



Le seul moyen d'alimenter le Banana Pi est de passer par le port USB prévu à cet effet (port B) ou le port du connecteur USB OTG (port A). Les deux fonctionnent.

  • Une carte SD/SDHC


sdcard



Le Banana Pi démarre son Linux depuis une carte mémoire. Vous devrez par conséquent "consacrer" une carte à l'appareil qu'il faudra insérer (ou laisser) dans l'appareil. La carte sert au système, par conséquent il ne faut pas la retirer une fois Linux démarré. Sinon on risque la corruption de fichiers systèmes importants.

La carte mémoire doit avoir une capacité entre 4Go minimum et 64Go maximum.

Mon kit Banana Pi



Pour ma part j'ai pu l'avoir en kit pour pas cher sur eBay :

20140903175946-7a43a200-sm



Pour 84$ (soit 65€ environ), le kit comprenait le câble SATA + un boîtier + un adaptateur USB 5V 2A avec son câble micro-USB. J'avais déjà une carte SD.


Déballage




J'ai reçu mon kit dans un pli (bien rembourré) dans lequel se trouvaient 2 petits paquets :

20140724215906-9ce7eee0-sm



On dirai des paquets de drogue :lol, cette couleur "orange/jaune" c'est en fait du scotch qui fait toute la surface du papier bulle. N'importe quoi. :whistle Ensuite on tombe sur deux boites blanches : une referme la carte et l'autre la boîte en plastique à assembler :

20140724215908-53884fa5-sm



20140724215910-0675f75b-sm



20140724215915-b0d40eab-sm



Rien à dire, tout est là et rien de cassé !


Assembler le boîtier




Consultez l'article dédié à ce sujet : Le boîtier du Banana Pi

Bien alimenter le Banana Pi



adapter



Pour alimenter le Banana Pi, vous pouvez utiliser soit le port USB d'un PC pour alimenter le Banana Pi ou utiliser un adaptateur secteur dédié (préféré). Il suffit par contre de bien comprendre que le Banana Pi peut être amener à "pomper" de l'énergie, c'est à dire la consommer plus vite que ce que le port USB d'un PC est capable de fournir. Dans ce cas, des plantages ou des dysfonctionnements erratiques (tels que des artefacts graphiques) peuvent apparaitre. Il faudra alors se tourner vers une source d'énergie plus puissante

Fabriquer la carte SD



Il y a deux étapes, en premier il faut formater la carte et ensuite y déployer l'image au format IMG (.img) dessus.

Consultez l'article dédié à ce sujet : Créer carte SD/SDHC/SDXC pour Banana Pi

Démarrer le Banana Pi



Ces SoC ARM ont en fait un "bootloader" (U-boot) au démarrage un peu spécial qui n'a rien à voir avec les PC x86 classiques : http://thekandyancode.wordpress.com/2013/09/21/how-the-raspberry-pi-boots-up/. C'est comme un smartphone.

Démarrer depuis une clé USB ou un disque dur externe



C'est possible : http://blog.slucas.fr/blog/banana-pi-3-installation-sur-ssd

Utiliser le Banana Pi



Comme n'importe quelle distrib Linux, une fois la phase de démarrage terminée, le système vous propose une invite de login (afin de vous identifier). Le système vous propose de saisir un couple nom d'utilisateur/mot de passe. Selon la distribution, soit l'invite est en ligne de commande (environnement texte) :

login1



Soit sous forme de fenêtre (environnement graphique) :

login2



Selon les distributions :

Mots de passe par défaut des distributions Banana Pi
Distribution (For BananaPi) Nom d'utilisateur (login) Mot de passe
ArchLinux bananapi bananapi
Bananian root pi
Fedora bananapi bananapi
Fedora root bananapi
Gentoo bananapi bananapi
Lubuntu bananapi bananapi
Lubuntu root bananapi
OpenSuse bananapi bananapi
OpenSuse root bananapi
Raspbian bananapi bananapi


ATTENTION : La disposition du clavier est par défaut en qwerty (anglais). Il faudra donc saisir "bqnqnqpi" comme mot de passe sur un clavier azerty.

Premiers pas avec la distribution Bananian



Consultez l'article dédié à ce sujet : La Bananian

Aller plus loin




Se débarrasser de la led verte




Par défaut vous aurez une LED verte qui clignote sur la Banana Pi. Les créateurs appellent cela un "heart beat", autrement dit un battement de cœur. C'est juste une LED pour vous indiquer que votre SBC est bien vivant et que le Linux n'est pas planté. En fait ça devient vite lassant, on dirai un kit Velleman Sapin de noël et ça illumine la pièce ! Sans compter que ça attire l’œil. Heureusement pour nous cette LED est reliée au GPIO et on peut la désactiver.

Pour lister les options possibles, ouvrez une console et entrez :

Code BASH :
cat /sys/class/leds/green:ph24:led1/trigger


La valeur par défaut est sur "heartbeat" (entre crochet) :

ban18



Si vous voulez qu'à l'avenir cette LED soit éteinte, il suffit de passer le paramètre à "none". Vous pouvez l'assigner à autre chose (voir la liste).

Code BASH :
echo none > /sys/class/leds/green:ph24:led1/trigger


La LED s'éteint de suite. Il est possible de jouer avec le fichier brightness (luminosité), envoyez 0 pour l'éteindre, 1 pour l'allumer :

Code BASH :
echo 0 > /sys/class/leds/green:ph24:led1/brightness 

Code BASH :
echo 1 > /sys/class/leds/green:ph24:led1/brightness 


Après rien n’empêche de la faire clignoter en faisaint un petit script (à faire fonctionner sous root).

Code BASH :
 
#!/bin/bash
echo none >  /sys/class/leds/green:ph24:led1/trigger
while true; do
   echo 1 > /sys/class/leds/green:ph24:led1/brightness
   sleep 1
   echo 0 > /sys/class/leds/green:ph24:led1/brightness
   sleep 1
done


Source originale : http://www.linuxx.eu/2014/08/banana-pi-onboard-user-definable-green.html

Si vous provoquez un kernel panic manuellement :

Code BASH :
echo c > /proc/sysrq-trigger 


En fait cette LED continue de clignoter, c'est juste qu'elle clignotte plus vite pour signaler que le Linux est en "stress", sauf qu'un kernel panic n'est jamais en rien stressé puisque au contraire le noyau à ce stade ne fait plus rien et le processeur non plus, c'est mort. Pour le gus qui a eu cette idée : PEBKAC ! ou

genius_sm




Ajouter une batterie pour la RTC (horloge temps réel)




Malgré un prix un peu plus élevé, toujours pas de RTC intégrée, c'est à dire que le Banana Pi (tout comme le Raspi) ne sait pas retenir l'heure dès qu'on l'éteint. Pourquoi ? En fait ce n'est pas tout à fait vrai : c'est juste qu'il n'y a pas de "pile" sur le Banana mais le composant pour la gestion de l'alimentation sait gérer l'horloge RTC (AXP209).

De toute façon, Linux dispose du service/démon NTP (qui se lance par défaut au démarrage heureusement) pour obtenir l'heure courante exacte depuis des serveurs internet. Mais ce qui implique de devoir le relier à Internet (au moins à chaque démarrage). Ce qui peut être un problème si vous voulez le faire fonctionner hors réseau (en autonome).

Pour utiliser la RTC, il faut donc souder sur le connecteur BAT1 vide :

banana2



  • soit une pile CR2032. Puisque c'est une "pile", pas de recharge possible, il faudra désactiver le circuit de recharge.

    cr2032

    cr2032s

  • soit lui ajouter une batterie rechargeable sous la forme d'un super condensateur (gold-cap) de 0.07F 3.3V, la place est prévue pour un XH414H de "SII Micro Parts".

    Certains ont pris une vieille batterie Lithium à la place et ça marche, bref à bidouiller.

    cap1



    Mais n'importe quel gold-cap électrolytique radial fait l'affaire.

    cap2





Ressources / Liens



Le site officiel sur lequel vous pourrez trouver les infos sur le matériel et des distributions adaptées toutes faites en image .img. A noter que le forum est bien présenté et des intervenants qui ont souvent des bonnes réponses, par contre il faut maîtriser l'anglais : www.lemaker.org

Distributeur français de Banana Pi : http://e.banana-pi.fr/fr et un blog avec des tutoriels