Découverte du Banana 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) :
|
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
C'est quand même l'essentiel.
- Un câble Micro-USB
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).
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
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 :
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 :
On dirai des paquets de drogue , cette couleur "orange/jaune" c'est en fait du scotch qui fait toute la surface du papier bulle. N'importe quoi. Ensuite on tombe sur deux boites blanches : une referme la carte et l'autre la boîte en plastique à assembler :
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
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) :
Soit sous forme de fenêtre (environnement graphique) :
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) :
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
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 :
- soit une pile CR2032. Puisque c'est une "pile", pas de recharge possible, il faudra désactiver le circuit de recharge.
- 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.
Mais n'importe quel gold-cap électrolytique radial fait l'affaire.
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