aboutsummaryrefslogtreecommitdiffstats
path: root/target
Commit message (Collapse)AuthorAgeFilesLines
...
* bcm63xx: switch to 5.4 kernelÁlvaro Fernández Rojas2020-04-181-2/+1
| | | | | | | Seems stable after 6 days of testing on some of my devices. Let's switch to 5.4 in order to get more feedback. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* ramips: mt7621: use lzma-loader for newifi d1/d2/thunder timecloudChuanhong Guo2020-04-181-0/+3
| | | | | | | These devices failed to properly extract kernel. enable lzma loader for them. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: don't reuse KERNEL_DTB for lzma-loaderChuanhong Guo2020-04-181-1/+1
| | | | | | | | mt7621 overrides KERNEL_DTB to limit dictionary size, which isn't needed for our lzma loader. This saves 15KB on mt7621 devices using uimage-lzma-loader. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt7621: backport more pcie driver fixesChuanhong Guo2020-04-183-5/+226
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: increase spi-max-frequency for ipTIME mt7620 devicesSungbo Eo2020-04-181-1/+1
| | | | | | | | | | | | This commit increases the hardware SPI frequency from 24.2MHz to 48.3MHz. [ 5.314163] m25p80 spi0.0: speed: 24166666/40000000, rate: 8, prescal: 2, loops: 226 [ 5.076323] m25p80 spi0.0: speed: 48333333/50000000, rate: 4, prescal: 1, loops: 162 `time cat /dev/mtd2 >/dev/null` is reduced from 5.64s to 4.36s on A104ns, and from 11.39s to 8.81s on A1004ns. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: add support for ipTIME A1004nsSungbo Eo2020-04-183-1/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | ipTIME A1004ns is a 2.4/5GHz band AC750 router, based on MediaTek MT7620A. Specifications: - SoC: MT7620A - RAM: DDR2 128MB - Flash: SPI NOR 16MB - WiFi: - 2.4GHz: SoC internal - 5GHz: MT7610EN - Ethernet: 5x 10/100/1000Mbps - Switch: MT7530BU - USB: 1x 2.0 - UART: - J2: 3.3V, TX, RX, GND (3.3V is the square pad) / 57600 8N1 Installation via web interface: 1. Flash **initramfs** image through the stock web interface. 2. Boot into OpenWrt and perform sysupgrade with sysupgrade image. Revert to stock firmware: 1. Perform sysupgrade with stock image. Signed-off-by: Sungbo Eo <mans0n@gorani.run>
* ramips: mt7621: Ubiquiti ER-X-SFP: fix gpio numbers for POE enable gpiosRené van Dorst2020-04-181-5/+5
| | | | | | | With v5.4 kernel a new gpio driver is used. GPIO numbering has changed so update 03_gpio_switches too. Signed-off-by: René van Dorst <opensource@vdorst.com>
* ramips: mt7621: Ubiquiti ER-X: fix gpio number for POE enable gpioRené van Dorst2020-04-181-1/+1
| | | | | | | With v5.4 kernel a new gpio driver is used. GPIO numbering has changed so update 03_gpio_switches too. Signed-off-by: René van Dorst <opensource@vdorst.com>
* ramips: use all reserved space for HiWiFi HC5962DENG Qingfang2020-04-182-33/+23
| | | | | | | | These stock partitons: "backup", "hw_panic", "overly", firmware_backup", "opt" do not contain any device-specific data and can be used for /overlay, resulting in 121M space Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* ramips: increase HiWiFi HC5962 kernel partition to 4MDENG Qingfang2020-04-182-7/+4
| | | | | | | | | | | | | | | | | | Increase kernel partition because 2M is insufficient for 5.4 Because the partition changes, previous version of OpenWrt cannot upgrade to this version, and requires a new installation Recovery to stock instruction: 1. Download stock firmware at http://ur.ikcd.net/HC5962-sysupgrade-20171221-b00a04d1.bin 2. Power off the router 3. Press and hold the reset button for 4~6 sec while power it back on 4. Connect a PC to router's LAN 5. Visit http://192.168.2.1 and upload the firmware Then repeat the instruction in edae3479e64e to install OpenWrt Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* generic: spi-nor: fix 4-byte opcode support for w25q256Mantas Pucka2020-04-181-0/+60
| | | | | | | | | | There are 2 different chips (w25q256fv and w25q256jv) that share the same JEDEC ID. Only w25q256jv fully supports 4-byte opcodes. Use SFDP header version to differentiate between them. Fixes broken reboot on 8devices Habanero since f0f35fdac Signed-off-by: Mantas Pucka <mantas@8devices.com>
* kernel: bump 5.4 to 5.4.33Petr Štetiar2020-04-179-145/+12
| | | | | | | | | | | | Refreshed patches, removed upstreamed patches: oxnas: 001-irqchip-versatile-fpga-Handle-chained-IRQs-properly.patch oxnas: 002-irqchip-versatile-fpga-Apply-clear-mask-earlier.patch Run tested: qemu-x86-64, apalis Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ath79: remove stray pipeDavid Bauer2020-04-171-1/+1
| | | | | | Fixes: 8918c038f330 ("ath79: add support for AVM FRITZ!WLAN Repeater 1750E") Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add support for AVM FRITZ!WLAN Repeater 1750EDavid Bauer2020-04-177-13/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds support for the AVM Fritz!WLAN Repeater 1750E SOC: Qualcomm QCA9556 (Scorpion) 720MHz MIPS74Kc RAM: 64MB Zentel A3R12E40CBF DDR2 FLASH: 16MiB Winbond W25Q128 SPI NOR WLAN1: QCA9556 2.4 GHz 802.11b/g/n 3x3 WLAN2: QCA9880 5 GHz 802.11 n/ac 3x3 INPUT: WPS button LED: Power, WiFi, LAN, RSSI indicator Serial: Header Next to Black metal shield Pinout is 3.3V - RX - TX - GND (Square Pad is 3.3V) The Serial setting is 115200-8-N-1. Tested and working: - Ethernet - 2.4 GHz WiFi (correct MAC) - 5 GHz WiFi (correct MAC) - Installation via EVA bootloader - OpenWRT sysupgrade - Buttons - LEDs Installation via EVA: In the first seconds after Power is connected, the bootloader will listen for FTP connections on 192.168.178.1. Firmware can be uploaded like following: ftp> quote USER adam2 ftp> quote PASS adam2 ftp> binary ftp> debug ftp> passive ftp> quote MEDIA FLSH ftp> put openwrt-sysupgrade.bin mtd1 Note that this procedure might take up to two minutes. You need to powercycle the Device afterwards to boot OpenWRT. Signed-off-by: David Bauer <mail@david-bauer.net>
* ath79: add QCA9550 reset sequenceDavid Bauer2020-04-177-2/+280
| | | | | | | | | | | | | | | | | The QCA9550 family of SoCs have a slightly different reset sequence compared to older chips. Normally the bootloader performs this sequence, however some bootloader implementation expect the operating system to clear the reset. Also get the PCIe resets from OF to support the second RC of the QCA9558. This is required for the AVM FRITZ!WLAN Repeater 1750E to work, as EVA leaves the PCIe bus in reset. Tested: AVM FRITZ!WLAN Repeater 1750E - OCEDO Koala Signed-off-by: David Bauer <mail@david-bauer.net>
* kernel: add support for GD25D05 SPI NOR (5.4)Koen Vandeputte2020-04-161-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | This chip is used on newer RB912UAG-5HPnD r2 and 922UAGS-5HPacD boards: Before: [ 0.824562] spi-nor spi0.0: unrecognized JEDEC id bytes: c8 40 10 c8 40 10 [ 0.831607] spi-nor: probe of spi0.0 failed with error -2 After: [ 0.825347] spi-nor spi0.0: gd25d05 (64 Kbytes) [ 0.830291] 1 routerbootpart partitions found on MTD device spi0.0 [ 0.836577] Creating 1 MTD partitions on "spi0.0": [ 0.841448] 0x000000000000-0x000000010000 : "partitions" [ 0.848418] 4 routerbootpart partitions found on MTD device partitions [ 0.855092] Creating 4 MTD partitions on "partitions": [ 0.860318] 0x000000000000-0x00000000c000 : "routerboot" [ 0.866548] 0x00000000c000-0x00000000d000 : "hard_config" [ 0.872832] 0x00000000d000-0x00000000e000 : "bios" [ 0.878580] 0x00000000e000-0x00000000f000 : "soft_config" Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: reduce spi-max-frequency for Mikrotik wAP G-5HacT2HnDRoger Pueyo Centelles2020-04-161-1/+1
| | | | | | | | The previous spi-max-frequency value did not work with all the CPU speed settings (configurable with rbcfg or from the stock firmware); the new one does for the three of them. Signed-off-by: Roger Pueyo Centelles <roger.pueyo@guifi.net>
* ath79: MikroTik: fix missing nand on kernel 5.4Koen Vandeputte2020-04-161-0/+1
| | | | | | | | | | | | | | | | | | | | | Following symbol got renamed upstream: CONFIG_MTD_NAND --> CONFIG_MTD_RAW_NAND Also add this renamed symbol so NAND also works on kernel 5.4. After: [ 0.628372] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1 [ 0.634862] nand: Samsung NAND 128MiB 3,3V 8-bit [ 0.639554] nand: 128 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64 [ 0.647263] Scanning device for bad blocks [ 0.656228] random: fast init done [ 0.789652] 3 fixed-partitions partitions found on MTD device ar934x-nand [ 0.796550] Creating 3 MTD partitions on "ar934x-nand": [ 0.801874] 0x000000000000-0x000000040000 : "booter" [ 0.807715] 0x000000040000-0x000000400000 : "kernel" [ 0.813551] 0x000000400000-0x000008000000 : "ubi" Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.19 to 4.19.115Koen Vandeputte2020-04-1646-292/+108
| | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch - 184-USB-serial-option-add-Wistron-Neweb-D19Q1.patch Fixes: - CVE-2020-8647 - CVE-2020-8648 (potentially) - CVE-2020-8649 Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* kernel: bump 4.14 to 4.14.176Koen Vandeputte2020-04-1623-323/+80
| | | | | | | | | | | | | | | | | | | Refreshed all patches. Remove upstreamed: - 0001-net-thunderx-workaround-BGX-TX-Underflow-issue.patch - 600-ipv6-addrconf-call-ipv6_mc_up-for-non-Ethernet-inter.patch - 184-USB-serial-option-add-Wistron-Neweb-D19Q1.patch Fixes: - CVE-2020-8648 (potentially) - CVE-2020-8647 - CVE-2020-8649 Compile-tested on: cns3xxx, octeontx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* ath79: improve status LED definitions for GL-AR750Hannu Nyman2020-04-161-1/+5
| | | | | | | | Improve the status LED functionality in GL-AR750 by adding the definitions for different statuses (boot, failsafe, running, flashing). Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
* ath79: add SUPPORTED_DEVICES for TP-Link TL-WA901ND v2Adrian Schmutzler2020-04-151-0/+1
| | | | | | | This adds the board name from ar71xx to support upgrade without -F for the TP-Link TL-WA901ND v2. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: mt7621: enable lzma-loader for some devicesChuanhong Guo2020-04-151-0/+6
| | | | | | | | | | ubnt er-x/xiaomi/netgear sercomm devices are known to have troble extracting a big kernel from flash and has support for uncompressed uimage This commit uses uncompressed uimage with lzma-loader for these devices to fix boot issue. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* x86: append metadata to combined imagesPaul Spooren2020-04-141-4/+4
| | | | | | | | | | | | Now that the x86 target uses the new image generation code we can also attach metadata to the created images. As currently the `SUPPORTED_DEVICES` list is empty, no JSON metadata is attached, however the signing happens in the same step. This results in signature verification for x86 images. Signed-off-by: Paul Spooren <mail@aparcar.org>
* kernel: bump 5.4 to 5.4.32Petr Štetiar2020-04-145-51/+5
| | | | | | | | | | | Refreshed patches, removed upstreamed patches: generic: 746-stable-net-dsa-mt7530-fix-null-pointer-dereferencing-in-por.patch Run tested: qemu-x86-64, apalis Build tested: x86/64, imx6, sunxi/a53 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* ipq806x: add patch to fix broken buttonsAnsuel Smith2020-04-141-0/+31
| | | | | | | | | From kernel 4.20 msm-gpio driver is broken and cause the malfunction of the buttons on every ipq806x target. Add a patch to fix this. Tested-by: Hannu Nyman <hannu.nyman@iki.fi> Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ath79: further fixes for ZyXEL NBG6716Adrian Schmutzler2020-04-141-7/+10
| | | | | | | | | | | | | | | | | | This applies further fixes to the DTS of ZyXEL NBG6716 based on what is found in ar71xx (mach-nbg6716.c): - use WiFi label names as in ar71xx - fix WPS gpio number - fix GPIO_ACTIVE_HIGH and mode for WiFi switch - add codes for USB eject buttons - fix node name for "internet" LED This device has separate LEDs for WAN and "Internet". As the WAN-LED (and the four LAN-LEDs) are driven independent of the setup in DT/01_leds, the "internet" LED is left unassigned (in contrast to ar71xx, where it was set up effectively as a second WAN LED) Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: define image recipe for uncompressed uimage with loaderChuanhong Guo2020-04-141-0/+5
| | | | | | | | | Some devices have bootloaders with broken lzma code resulting in failed decompression or corrupted kernel code. This image recipe allows to sacrifice 5KB for OpenWrt LZMA loader and take over the task of decompress kernel. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: define lzma loader platform in targetChuanhong Guo2020-04-142-2/+5
| | | | | | | | Loader platform is a per-soc variable instead of a per-device one. Determine corresponding loader platform at the beginning of image Makefile. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add missing DEVICE_VARS for lzma-loaderChuanhong Guo2020-04-141-0/+1
| | | | | | | LOADER_TYPE is a per-device variable which should be included in DEVICE_VARS. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: enable m25p,fast-read for tplink,tl-wr1043-v1Luiz Angelo Daros de Luca2020-04-141-0/+1
| | | | | | Enables spi-mem interface for 3x faster flash read. Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* ath79: enable m25p,fast-read for tplink,tl-wr2543-v1Luiz Angelo Daros de Luca2020-04-141-0/+1
| | | | | | | | | | Enables spi-mem interface usage. It speeds up flash read in about 3x while it also workaround a possible hardware bug when normal spi read is used. Fixes: FS#2742 Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* ath79: add read support using spi-memLuiz Angelo Daros de Luca2020-04-142-0/+140
| | | | | | | | | | | | | | | | Reimplements read optimization on top of spi-mem. Similar to what 461-spi-ath79-add-fast-flash-read.patch used to do with the dropped flash read interface. It accelerate only fast-read op reading flash directly from memory mapped region. 'm25p,fast-read' must be set in order to use the new spi-mem. It improved read speed up to 3x on old devices (tplink,tl-wr2543-v1) while no speed improvement was noticed on newer devices like (tplink,archer-c7-v2). Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
* x86: add nforce eth to default packagesAlberto Bursi2020-04-133-3/+4
| | | | | | | | | | | | | forcedeth is necessary to use the integrated ethernet controller of Nvidia nForce chipset. There are PC motherboards with this chipset from 2001 that run 32bit Athlon XP CPUs and more modern ones up to 2009 that can run Intel and AMD 64bit processors, so add this to all non-geode x86 targets. Signed-off-by: Alberto Bursi <bobafetthotmail@gmail.com>
* mvebu: drop armada-37xx PCI aardvark patchesTomasz Maciej Nowak2020-04-135-353/+0
| | | | | | | | | These patches were necessarry for Atheros and some Intel WiFi cards. After short testing, the current upstream driver state is enough for these WiFi cards to work. If there are still some issues with other devices, the patches could be easily restored. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* mvebu: refresh configDENG Qingfang2020-04-133-39/+88
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: refresh patchesDENG Qingfang2020-04-1334-1671/+39
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: set kernel testing version to 5.4DENG Qingfang2020-04-131-0/+1
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: copy files and patches to 5.4DENG Qingfang2020-04-1353-0/+5140
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* mvebu: add support for Buffalo LinkStation LS421DEDaniel González Cabanelas2020-04-135-0/+397
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buffalo LinkStation LS421DE is a dual bay NAS, based on Marvell Armada 370 Hardware: SoC: Marvell Armada 88F6707-A1 CPU: Cortex-A9 1200 MHz, 1 core Flash: SPI-NOR 1 MiB, NAND 512 MiB RAM: DDR3 512 MiB Ethernet: 1x 10/100/1000 Mbps USB: 1x 2.0, 1x 3.0 SATA: 2x 3.0 Gbps LEDs/Input : 5x / 2x (1x button, 1x slide-switch) RTC: Ricoh RS5C372A, I2C, no battery Flash instruction (UART+TFTP): 1. Downgrade the OEM firmware to 1.34 version (BUFFALO_BOOTVER=0.13) 2. Remove any hard drive from inside the bays. 3. Boot the Openwrt initramfs image using the U-Boot serial console: tftpboot 0x1200000 buffalo_ls421de-initramfs-kernel.bin bootm 0x1200000 4. Flash the sysupgrade image using the Openwrt console: sysupgrade -n buffalo_ls421de-squashfs-sysupgrade.bin 5. Wait until it finish, the device will reboot with Openwrt installed on the NAND flash. Note: - Device shuting down doesn't work, even if the power slide switch is used. We must first, via MDIO, set the unused LED2 at the ethernet phy0 to off state. Reboot works ok. Signed-off-by: Daniel González Cabanelas <dgcbueu@gmail.com> Reviewed-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* kernel: remove non-existant symbolsAleksander Jan Bajkowski2020-04-138-79/+0
| | | | | | These symbols exist only in older kernels and can be removed. Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* ath79: fix USB port LED assignment for ZyXEL NBG6716Adrian Schmutzler2020-04-131-2/+2
| | | | | | | | | | | The USB LED assignment to internal ports was swapped. Fix it. We also explicitly checked that the LED label numbers match those on the device. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: fix wmac initialization for Zyxel NBG6716Guillaume Lefebvre2020-04-133-4/+20
| | | | | | | | | | | | | | | | | | 2.4 GHz Wifi on ath79 is set up in 10-ath9k-eeprom, but in ar71xx it was done with ath79_register_wmac. Thus, the following errors are observed on the device: ath: phy1: Unable to initialize hardware; initialization status: -5 ath9k 18100000.wmac: failed to initialize device ath9k: probe of 18100000.wmac failed with error -5 This patch changes the ath79 support to properly use wmac as well. This will also require fixing the MAC address in a different way. Signed-off-by: Guillaume Lefebvre <guillaume@zelig.ch> [several adjustments to 10-fix-wifi-mac, use correct MAC address, rewrite commit message] Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ramips: fix whitespace in 990_NET-no-auto-carrier-support.patchChuanhong Guo2020-04-131-4/+4
| | | | | Fixes: 6fcba5eec3 ("ramips: port 0034-NET-multi-phy-support.patch to 5.4") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: ralink-eth: fix leftover dma dev argumentChuanhong Guo2020-04-131-1/+1
| | | | | Fixes: 05dee5833a ("ramips: ralink-eth: fix device struct passed to dma functions") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* bcm63xx: disable all devices with <= 4MiB flash and <= 32 MiB RAMJonas Gorski2020-04-121-0/+11
| | | | | | | | | | | Device with 4 MiB flash and 32 MiB RAM won't be able to run OpenWrt in a sufficient manner without tweaks, so don't build images for them by default. This includes all BCM6338, BCM6345 and BCM6348 "generic" devices, as there are no supported devices of these with more than that. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
* ramips: replace pinctrl property namesChuanhong Guo2020-04-12261-730/+730
| | | | | | | | | | | | | | Upstream pinctrl driver in drivers/staging uses groups/function/ralink,num-gpios instead of ralink,group/ralink,function/ralink,nr-gpio Replace these properties in dts as well as the pinctrl driver in patches-4.14. This commit is created using: sed -i 's/ralink,group/groups/g' sed -i 's/ralink,function/function/g' sed -i 's/ralink,nr-gpio/ralink,num-gpios/g' Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: explicitly disable built-in switch when neededChuanhong Guo2020-04-123-29/+29
| | | | | | | | | | previously we rely on the failsafe setup in preinit scripts to disable built-in switch implicitly for single-port devices. This doesn't work anymore due to preinit script removal. this patch explicitly disable built-in switch for needed devices. Fixes: a8d62a4eb1 ("ramips: remove set_preinit_iface script") Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: add 5.4 as testing kernelChuanhong Guo2020-04-121-0/+1
| | | | Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* ramips: mt76x8: switch to kernel 5.4Chuanhong Guo2020-04-121-0/+1
| | | | | | | 4.14 doesn't work anymore due to gpio dt binding changes. Switch mt76x8 to 5.4 directly. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>