This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
hardware:perenio:peacg01 [2022/02/04 18:24] – ↷ Page moved from ru:hardware:perenio:peacg01 to hardware:perenio:peacg01 root | hardware:perenio:peacg01 [2022/03/02 23:01] (current) – [Download] root | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Perenio PEACG01 ====== | ====== Perenio PEACG01 ====== | ||
- | Основано на базе референсного дизайна: CUS531MP3-NAND\\ | + | {{hardware:perenio: |
- | Состоит из: | + | Based on refence design: CUS531MP3-NAND\\ |
+ | |||
+ | ===== Hardware ===== | ||
* CPU: QCA4531-BL3A | * CPU: QCA4531-BL3A | ||
* RAM: winbond W9751G6KB-25 (DDR-2, 64MB) | * RAM: winbond W9751G6KB-25 (DDR-2, 64MB) | ||
Line 11: | Line 13: | ||
* Clock: PCF8563 + Battery | * Clock: PCF8563 + Battery | ||
* ZigBee: EFR32 MG1P232GG | * ZigBee: EFR32 MG1P232GG | ||
+ | * 802.11bgn 2T2R | ||
+ | * 1x 10/100/1000 Mbps Ethernet port | ||
+ | * 3 leds | ||
+ | * 2 buttons | ||
+ | * UART header on PCB (115200 8n1) | ||
+ | * U-Boot bootloader @ SPI flash | ||
===== Photos ===== | ===== Photos ===== | ||
- | {{: | + | {{hardware: |
- | {{:ru:hardware: | + | {{hardware: |
- | {{:ru:hardware: | + | {{hardware: |
- | {{:ru:hardware: | + | |
Line 851: | Line 858: | ||
</ | </ | ||
</ | </ | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | < | ||
+ | bird4.bird.use_UCI_config=' | ||
+ | bird4.bird.UCI_config_file='/ | ||
+ | bird4.global=global | ||
+ | bird4.global.log_file='/ | ||
+ | bird4.global.log=' | ||
+ | bird4.global.debug=' | ||
+ | bird4.global.router_id=' | ||
+ | bird4.@table[0]=table | ||
+ | bird4.@table[0].name=' | ||
+ | bird4.kernel1=kernel | ||
+ | bird4.kernel1.table=' | ||
+ | bird4.kernel1.import=' | ||
+ | bird4.kernel1.export=' | ||
+ | bird4.kernel1.kernel_table=' | ||
+ | bird4.kernel1.scan_time=' | ||
+ | bird4.kernel1.learn=' | ||
+ | bird4.kernel1.persist=' | ||
+ | bird4.kernel1.disabled=' | ||
+ | bird4.device1=device | ||
+ | bird4.device1.scan_time=' | ||
+ | bird4.device1.disabled=' | ||
+ | bird4.static1=static | ||
+ | bird4.static1.table=' | ||
+ | bird4.static1.disabled=' | ||
+ | bird4.bgp1=bgp | ||
+ | bird4.bgp1.template=' | ||
+ | bird4.bgp1.description=' | ||
+ | bird4.bgp1.neighbor_address=' | ||
+ | bird4.bgp1.neighbor_as=' | ||
+ | bird4.bgp1.source_address=' | ||
+ | bird4.bgp1.next_hop_self=' | ||
+ | bird4.bgp1.next_hop_keep=' | ||
+ | bird4.bgp1.rr_client=' | ||
+ | bird4.bgp1.rr_cluster_id=' | ||
+ | bird4.bgp_common=bgp_template | ||
+ | bird4.bgp_common.table=' | ||
+ | bird4.bgp_common.import=' | ||
+ | bird4.bgp_common.export=' | ||
+ | bird4.bgp_common.local_address=' | ||
+ | bird4.bgp_common.local_as=' | ||
+ | bird4.bgp_common.import_limit=' | ||
+ | bird4.bgp_common.import_limit_action=' | ||
+ | bird4.bgp_common.export_limit=' | ||
+ | bird4.bgp_common.export_limit_action=' | ||
+ | bird4.bgp_common.receive_limit=' | ||
+ | bird4.bgp_common.receive_limit_action=' | ||
+ | bird4.bgp_common.disabled=' | ||
+ | bird4.@route[0]=route | ||
+ | bird4.@route[0].instance=' | ||
+ | bird4.@route[0].type=' | ||
+ | bird4.@route[0].prefix=' | ||
+ | bird4.@route[0].via=' | ||
+ | dhcp.@dnsmasq[0]=dnsmasq | ||
+ | dhcp.@dnsmasq[0].domainneeded=' | ||
+ | dhcp.@dnsmasq[0].boguspriv=' | ||
+ | dhcp.@dnsmasq[0].filterwin2k=' | ||
+ | dhcp.@dnsmasq[0].localise_queries=' | ||
+ | dhcp.@dnsmasq[0].local='/ | ||
+ | dhcp.@dnsmasq[0].domain=' | ||
+ | dhcp.@dnsmasq[0].expandhosts=' | ||
+ | dhcp.@dnsmasq[0].nonegcache=' | ||
+ | dhcp.@dnsmasq[0].authoritative=' | ||
+ | dhcp.@dnsmasq[0].readethers=' | ||
+ | dhcp.@dnsmasq[0].leasefile='/ | ||
+ | dhcp.@dnsmasq[0].resolvfile='/ | ||
+ | dhcp.lan=dhcp | ||
+ | dhcp.lan.interface=' | ||
+ | dhcp.lan.start=' | ||
+ | dhcp.lan.limit=' | ||
+ | dhcp.lan.leasetime=' | ||
+ | dhcp.lan.dhcpv6=' | ||
+ | dhcp.lan.ra=' | ||
+ | dhcp.wan=dhcp | ||
+ | dhcp.wan.interface=' | ||
+ | dhcp.wan.ignore=' | ||
+ | dhcp.odhcpd=odhcpd | ||
+ | dhcp.odhcpd.maindhcp=' | ||
+ | dhcp.odhcpd.leasefile='/ | ||
+ | dhcp.odhcpd.leasetrigger='/ | ||
+ | dhcp.ap=dhcp | ||
+ | dhcp.ap.interface=' | ||
+ | dhcp.ap.start=' | ||
+ | dhcp.ap.limit=' | ||
+ | dhcp.ap.leasetime=' | ||
+ | dhcp.ap.dhcpv6=' | ||
+ | dhcp.ap.ra=' | ||
+ | dropbear.@dropbear[0]=dropbear | ||
+ | dropbear.@dropbear[0].PasswordAuth=' | ||
+ | dropbear.@dropbear[0].RootPasswordAuth=' | ||
+ | dropbear.@dropbear[0].Port=' | ||
+ | firewall.@defaults[0]=defaults | ||
+ | firewall.@defaults[0].syn_flood=' | ||
+ | firewall.@defaults[0].input=' | ||
+ | firewall.@defaults[0].output=' | ||
+ | firewall.@defaults[0].forward=' | ||
+ | firewall.@defaults[0].disabled=' | ||
+ | firewall.@zone[0]=zone | ||
+ | firewall.@zone[0].name=' | ||
+ | firewall.@zone[0].network=' | ||
+ | firewall.@zone[0].input=' | ||
+ | firewall.@zone[0].output=' | ||
+ | firewall.@zone[0].forward=' | ||
+ | firewall.@zone[1]=zone | ||
+ | firewall.@zone[1].name=' | ||
+ | firewall.@zone[1].network=' | ||
+ | firewall.@zone[1].input=' | ||
+ | firewall.@zone[1].output=' | ||
+ | firewall.@zone[1].forward=' | ||
+ | firewall.@zone[1].masq=' | ||
+ | firewall.@zone[1].mtu_fix=' | ||
+ | firewall.@forwarding[0]=forwarding | ||
+ | firewall.@forwarding[0].src=' | ||
+ | firewall.@forwarding[0].dest=' | ||
+ | firewall.@rule[0]=rule | ||
+ | firewall.@rule[0].name=' | ||
+ | firewall.@rule[0].src=' | ||
+ | firewall.@rule[0].proto=' | ||
+ | firewall.@rule[0].dest_port=' | ||
+ | firewall.@rule[0].target=' | ||
+ | firewall.@rule[0].family=' | ||
+ | firewall.@rule[1]=rule | ||
+ | firewall.@rule[1].name=' | ||
+ | firewall.@rule[1].src=' | ||
+ | firewall.@rule[1].proto=' | ||
+ | firewall.@rule[1].icmp_type=' | ||
+ | firewall.@rule[1].family=' | ||
+ | firewall.@rule[1].target=' | ||
+ | firewall.@rule[2]=rule | ||
+ | firewall.@rule[2].name=' | ||
+ | firewall.@rule[2].src=' | ||
+ | firewall.@rule[2].proto=' | ||
+ | firewall.@rule[2].family=' | ||
+ | firewall.@rule[2].target=' | ||
+ | firewall.@rule[3]=rule | ||
+ | firewall.@rule[3].name=' | ||
+ | firewall.@rule[3].src=' | ||
+ | firewall.@rule[3].proto=' | ||
+ | firewall.@rule[3].src_ip=' | ||
+ | firewall.@rule[3].src_port=' | ||
+ | firewall.@rule[3].dest_ip=' | ||
+ | firewall.@rule[3].dest_port=' | ||
+ | firewall.@rule[3].family=' | ||
+ | firewall.@rule[3].target=' | ||
+ | firewall.@rule[4]=rule | ||
+ | firewall.@rule[4].name=' | ||
+ | firewall.@rule[4].src=' | ||
+ | firewall.@rule[4].proto=' | ||
+ | firewall.@rule[4].src_ip=' | ||
+ | firewall.@rule[4].icmp_type=' | ||
+ | firewall.@rule[4].family=' | ||
+ | firewall.@rule[4].target=' | ||
+ | firewall.@rule[5]=rule | ||
+ | firewall.@rule[5].name=' | ||
+ | firewall.@rule[5].src=' | ||
+ | firewall.@rule[5].proto=' | ||
+ | firewall.@rule[5].icmp_type=' | ||
+ | firewall.@rule[5].limit=' | ||
+ | firewall.@rule[5].family=' | ||
+ | firewall.@rule[5].target=' | ||
+ | firewall.@rule[6]=rule | ||
+ | firewall.@rule[6].name=' | ||
+ | firewall.@rule[6].src=' | ||
+ | firewall.@rule[6].dest=' | ||
+ | firewall.@rule[6].proto=' | ||
+ | firewall.@rule[6].icmp_type=' | ||
+ | firewall.@rule[6].limit=' | ||
+ | firewall.@rule[6].family=' | ||
+ | firewall.@rule[6].target=' | ||
+ | firewall.@include[0]=include | ||
+ | firewall.@include[0].path='/ | ||
+ | firewall.@rule[7]=rule | ||
+ | firewall.@rule[7].src=' | ||
+ | firewall.@rule[7].dest=' | ||
+ | firewall.@rule[7].proto=' | ||
+ | firewall.@rule[7].target=' | ||
+ | firewall.@rule[8]=rule | ||
+ | firewall.@rule[8].src=' | ||
+ | firewall.@rule[8].dest=' | ||
+ | firewall.@rule[8].dest_port=' | ||
+ | firewall.@rule[8].proto=' | ||
+ | firewall.@rule[8].target=' | ||
+ | firewall.miniupnpd=include | ||
+ | firewall.miniupnpd.type=' | ||
+ | firewall.miniupnpd.path='/ | ||
+ | firewall.miniupnpd.family=' | ||
+ | firewall.miniupnpd.reload=' | ||
+ | fstab.@global[0]=global | ||
+ | fstab.@global[0].anon_swap=' | ||
+ | fstab.@global[0].anon_mount=' | ||
+ | fstab.@global[0].auto_swap=' | ||
+ | fstab.@global[0].auto_mount=' | ||
+ | fstab.@global[0].delay_root=' | ||
+ | fstab.@global[0].check_fs=' | ||
+ | network.loopback=interface | ||
+ | network.loopback.ifname=' | ||
+ | network.loopback.proto=' | ||
+ | network.loopback.ipaddr=' | ||
+ | network.loopback.netmask=' | ||
+ | network.globals=globals | ||
+ | network.globals.ula_prefix=' | ||
+ | network.lan=interface | ||
+ | network.lan.force_link=' | ||
+ | network.lan.type=' | ||
+ | network.lan.proto=' | ||
+ | network.lan.ipaddr=' | ||
+ | network.lan.netmask=' | ||
+ | network.lan.gateway=' | ||
+ | network.lan._orig_ifname=' | ||
+ | network.lan._orig_bridge=' | ||
+ | network.lan.metric=' | ||
+ | network.lan.ifname=' | ||
+ | network.wan=interface | ||
+ | network.wan.proto=' | ||
+ | network.wan.metric=' | ||
+ | network.wan.ifname=' | ||
+ | network.wan6=interface | ||
+ | network.wan6.proto=' | ||
+ | network.wan6.ifname=' | ||
+ | network.@switch[0]=switch | ||
+ | network.@switch[0].name=' | ||
+ | network.@switch[0].reset=' | ||
+ | network.@switch[0].enable_vlan=' | ||
+ | network.@switch_vlan[0]=switch_vlan | ||
+ | network.@switch_vlan[0].device=' | ||
+ | network.@switch_vlan[0].vlan=' | ||
+ | network.@switch_vlan[0].ports=' | ||
+ | network.ap=interface | ||
+ | network.ap.proto=' | ||
+ | network.ap.ipaddr=' | ||
+ | network.ap.netmask=' | ||
+ | network.sta=interface | ||
+ | network.sta.metric=' | ||
+ | network.sta.proto=' | ||
+ | ntpclient.@ntpserver[0]=ntpserver | ||
+ | ntpclient.@ntpserver[0].hostname=' | ||
+ | ntpclient.@ntpserver[0].port=' | ||
+ | ntpclient.@ntpserver[1]=ntpserver | ||
+ | ntpclient.@ntpserver[1].hostname=' | ||
+ | ntpclient.@ntpserver[1].port=' | ||
+ | ntpclient.@ntpserver[2]=ntpserver | ||
+ | ntpclient.@ntpserver[2].hostname=' | ||
+ | ntpclient.@ntpserver[2].port=' | ||
+ | ntpclient.@ntpserver[3]=ntpserver | ||
+ | ntpclient.@ntpserver[3].hostname=' | ||
+ | ntpclient.@ntpserver[3].port=' | ||
+ | ntpclient.@ntpdrift[0]=ntpdrift | ||
+ | ntpclient.@ntpdrift[0].freq=' | ||
+ | ntpclient.@ntpclient[0]=ntpclient | ||
+ | ntpclient.@ntpclient[0].interval=' | ||
+ | pppoe.relay=pppoe_relay | ||
+ | pppoe.relay.enable=' | ||
+ | pppoe.relay.client=' | ||
+ | pppoe.relay.server=' | ||
+ | qos.wan=interface | ||
+ | qos.wan.classgroup=' | ||
+ | qos.wan.enabled=' | ||
+ | qos.wan.upload=' | ||
+ | qos.wan.download=' | ||
+ | qos.@classify[0]=classify | ||
+ | qos.@classify[0].target=' | ||
+ | qos.@classify[0].ports=' | ||
+ | qos.@classify[0].comment=' | ||
+ | qos.@classify[1]=classify | ||
+ | qos.@classify[1].target=' | ||
+ | qos.@classify[1].proto=' | ||
+ | qos.@classify[1].ports=' | ||
+ | qos.@classify[1].comment=' | ||
+ | qos.@classify[2]=classify | ||
+ | qos.@classify[2].target=' | ||
+ | qos.@classify[2].ports=' | ||
+ | qos.@classify[2].comment=' | ||
+ | qos.@default[0]=default | ||
+ | qos.@default[0].target=' | ||
+ | qos.@default[0].proto=' | ||
+ | qos.@default[0].pktsize=' | ||
+ | qos.@reclassify[0]=reclassify | ||
+ | qos.@reclassify[0].target=' | ||
+ | qos.@reclassify[0].proto=' | ||
+ | qos.@default[1]=default | ||
+ | qos.@default[1].target=' | ||
+ | qos.@default[1].portrange=' | ||
+ | qos.Default=classgroup | ||
+ | qos.Default.classes=' | ||
+ | qos.Default.default=' | ||
+ | qos.Priority=class | ||
+ | qos.Priority.packetsize=' | ||
+ | qos.Priority.avgrate=' | ||
+ | qos.Priority.priority=' | ||
+ | qos.Priority_down=class | ||
+ | qos.Priority_down.packetsize=' | ||
+ | qos.Priority_down.avgrate=' | ||
+ | qos.Express=class | ||
+ | qos.Express.packetsize=' | ||
+ | qos.Express.avgrate=' | ||
+ | qos.Express.priority=' | ||
+ | qos.Normal=class | ||
+ | qos.Normal.packetsize=' | ||
+ | qos.Normal.packetdelay=' | ||
+ | qos.Normal.avgrate=' | ||
+ | qos.Normal.priority=' | ||
+ | qos.Normal_down=class | ||
+ | qos.Normal_down.avgrate=' | ||
+ | qos.Bulk=class | ||
+ | qos.Bulk.avgrate=' | ||
+ | qos.Bulk.packetdelay=' | ||
+ | rpcd.@login[0]=login | ||
+ | rpcd.@login[0].username=' | ||
+ | rpcd.@login[0].password=' | ||
+ | rpcd.@login[0].read=' | ||
+ | rpcd.@login[0].write=' | ||
+ | sysstat.sysstat=sysstat | ||
+ | sysstat.sysstat.log_history=' | ||
+ | sysstat.sysstat.compressafter=' | ||
+ | sysstat.sysstat.sa_dir='/ | ||
+ | sysstat.sysstat.zip=' | ||
+ | sysstat.sysstat.enabled=' | ||
+ | system.@system[0]=system | ||
+ | system.@system[0].hostname=' | ||
+ | system.@system[0].timezone=' | ||
+ | system.@system[0].log_buffer_size=' | ||
+ | system.@system[0].log_size=' | ||
+ | system.@system[0].log_file='/ | ||
+ | system.ntp=timeserver | ||
+ | system.ntp.server=' | ||
+ | system.ntp.enabled=' | ||
+ | system.ntp.enable_server=' | ||
+ | ubootenv.@ubootenv[0]=ubootenv | ||
+ | ubootenv.@ubootenv[0].dev='/ | ||
+ | ubootenv.@ubootenv[0].offset=' | ||
+ | ubootenv.@ubootenv[0].envsize=' | ||
+ | ubootenv.@ubootenv[0].secsize=' | ||
+ | uhttpd.main=uhttpd | ||
+ | uhttpd.main.listen_http=' | ||
+ | uhttpd.main.listen_https=' | ||
+ | uhttpd.main.redirect_https=' | ||
+ | uhttpd.main.home='/ | ||
+ | uhttpd.main.rfc1918_filter=' | ||
+ | uhttpd.main.max_requests=' | ||
+ | uhttpd.main.max_connections=' | ||
+ | uhttpd.main.cert='/ | ||
+ | uhttpd.main.key='/ | ||
+ | uhttpd.main.cgi_prefix='/ | ||
+ | uhttpd.main.script_timeout=' | ||
+ | uhttpd.main.network_timeout=' | ||
+ | uhttpd.main.http_keepalive=' | ||
+ | uhttpd.main.tcp_keepalive=' | ||
+ | uhttpd.main.ubus_prefix='/ | ||
+ | uhttpd.px5g=cert | ||
+ | uhttpd.px5g.days=' | ||
+ | uhttpd.px5g.bits=' | ||
+ | uhttpd.px5g.country=' | ||
+ | uhttpd.px5g.state=' | ||
+ | uhttpd.px5g.location=' | ||
+ | uhttpd.px5g.commonname=' | ||
+ | upnpd.config=upnpd | ||
+ | upnpd.config.enable_natpmp=' | ||
+ | upnpd.config.enable_upnp=' | ||
+ | upnpd.config.secure_mode=' | ||
+ | upnpd.config.log_output=' | ||
+ | upnpd.config.download=' | ||
+ | upnpd.config.upload=' | ||
+ | upnpd.config.internal_iface=' | ||
+ | upnpd.config.port=' | ||
+ | upnpd.config.upnp_lease_file='/ | ||
+ | upnpd.config.uuid=' | ||
+ | upnpd.@perm_rule[0]=perm_rule | ||
+ | upnpd.@perm_rule[0].action=' | ||
+ | upnpd.@perm_rule[0].ext_ports=' | ||
+ | upnpd.@perm_rule[0].int_addr=' | ||
+ | upnpd.@perm_rule[0].int_ports=' | ||
+ | upnpd.@perm_rule[0].comment=' | ||
+ | upnpd.@perm_rule[1]=perm_rule | ||
+ | upnpd.@perm_rule[1].action=' | ||
+ | upnpd.@perm_rule[1].ext_ports=' | ||
+ | upnpd.@perm_rule[1].int_addr=' | ||
+ | upnpd.@perm_rule[1].int_ports=' | ||
+ | upnpd.@perm_rule[1].comment=' | ||
+ | wireless.radio0=wifi-device | ||
+ | wireless.radio0.type=' | ||
+ | wireless.radio0.channel=' | ||
+ | wireless.radio0.hwmode=' | ||
+ | wireless.radio0.path=' | ||
+ | wireless.radio0.ht_capab=' | ||
+ | wireless.radio0.htmode=' | ||
+ | wireless.radio0.disabled=' | ||
+ | wireless.@wifi-iface[0]=wifi-iface | ||
+ | wireless.@wifi-iface[0].device=' | ||
+ | wireless.@wifi-iface[0].network=' | ||
+ | wireless.@wifi-iface[0].ifname=' | ||
+ | wireless.@wifi-iface[0].mode=' | ||
+ | wireless.@wifi-iface[0].ssid=' | ||
+ | wireless.@wifi-iface[0].encryption=' | ||
+ | wireless.@wifi-iface[0].key=' | ||
+ | wireless.@wifi-iface[0].wps_pushbutton=' | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ===== OpenWRT ===== | ||
+ | |||
+ | ==== Download ==== | ||
+ | [[http:// | ||
+ | [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | ==== Flashing ==== | ||
+ | |||
+ | * Copy **openwrt-ath79-nand-perenio_peacg01-initramfs-kernel.bin** into TFTP server root dir with name **0201A8C0.img** | ||
+ | * TFTP server must listen on 192.168.1.10 | ||
+ | * Connect serial to top of the board, use 115200 speed | ||
+ | * Power on device | ||
+ | * Break boot by hitting **space** key | ||
+ | * setenv bootslot 0 | ||
+ | * tftp | ||
+ | * bootm | ||
+ | * Wait untill OpenWRT boot | ||
+ | * Use WebUI at 192.168.1.1 to update f/w | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | {{tag> | ||