COMFAST CF-E385AC

CF-E385AC Front

A cheap POE-powered WiFi Access Point supporting Wave-2 802.11ac, and 2 gigabit ethernet ports (see note below). Internally it contains 4 physical antennas, and can easily be mounted on a wall or ceiling using its included mounting plate.

Note that an issue with this device makes it tricky to install firmware, configure the device, or use the LAN port. If the LAN ethernet port is connected to a switch or other device, and its link is up when OpenWRT boots up, then the LAN port will be stuck in a broken state until the next reboot. See this discussion in the forum. This means that if you want to use this device as Dumb Access Point, you will need to reconfigure the physical WAN interface to be part of the LAN interface and use the WAN ethernet jack in place of the LAN ethernet jack you would normally use. This issue only affects the LAN port, not the WAN port.

Install OpenWrt (generic explanation)

OpenWRT may be installed via the OEM's GUI interface, and possibly via other mechanisms.

After installation, if you have multiple devices, you will need to manually set the BSSID (MAC Address) for the 5ghz radio, as all devices incorrectly end up with the same MAC address rather than unique ones. This can be done by adding a line like option macaddr '20:0D:B0:00:00:00' to /etc/config/wireless and then running /etc/init.d/network restart. Be sure to specify a different MAC address for each of your devices.

Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, etc.

hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.

The COMFAST CF-E385AC has a single button:

BUTTON Event
rst reset

Front:
CF-E385AC Front

Back:
CF-E385AC Back

Note: This will void your warranty!

  • To remove the cover and open the device, remove 4 screws on each corner of the base of the device. One screw may be covered by a sticker. Then with a spudger tool or screwdriver pry the front of the case from the back. There are 3 clips, each in the middle of one of the sides.

Interior and Main PCB:
CF-E385AC Interior

port.serial general information about the serial port, serial port cable, etc.

A TTL USB console cable can be connected to the serial port header on the PCB once the case is opened. As shown in picture below, hookup the serial cable's RX (green) to RX on the PCB, USB cable's TX (white) to TX on the PCB, and GND (black) to GND on the PCB. Do not connect anything to VCC.

CF-E385AC Serial Port with attached USB serial console cable

Serial connection parameters
for COMFAST CF-E385AC
115200, 8N1

[ 0.000000] Linux version 4.14.195 (builder@buildhost) (gcc version 7.5.0 (OpenWrt GCC 7.5.0 r11208-ce6496d796)) #0 Sun Sep 6 16:19:39 2020 [ 0.000000] MyLoader: sysp=cfba87e0, boardp=efe6d564, parts=248804a9 [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019750 (MIPS 74Kc) [ 0.000000] SoC: Qualcomm Atheros QCA9558 ver 1 rev 0 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 10000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x0000000000000000-0x000000000fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000000000000-0x000000000fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000000fffffff] [ 0.000000] On node 0 totalpages: 65536 [ 0.000000] free_area_init_node: node 0, pgdat 804ecd40, node_mem_map 81000020 [ 0.000000] Normal zone: 512 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 65536 pages, LIFO batch:15 [ 0.000000] random: get_random_bytes called from 0x804f0740 with crng_init=0 [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 65024 [ 0.000000] Kernel command line: board=CF-E385AC mtdparts=spi0.0:256k(u-boot)ro,64k(art)ro,16000k(firmware),64k(art-backup)ro console=ttyS0,115200 rootfstype=squashfs noinitrd [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 254244K/262144K available (3950K kernel code, 197K rwdata, 516K rodata, 320K init, 212K bss, 7900K reserved, 0K cma-reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS: 51 [ 0.000000] Clocks: CPU:720.000MHz, DDR:600.000MHz, AHB:200.000MHz, Ref:40.000MHz [ 0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5309056796 ns [ 0.000007] sched_clock: 32 bits at 360MHz, resolution 2ns, wraps every 5965232126ns [ 0.008303] Calibrating delay loop... 358.80 BogoMIPS (lpj=1794048) [ 0.074992] pid_max: default: 32768 minimum: 301 [ 0.080088] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.087131] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.096436] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.106929] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.114352] NET: Registered protocol family 16 [ 0.120213] MIPS: machine is COMFAST CF-E385AC [ 0.128029] registering PCI controller with io_map_base unset [ 0.134307] ar724x-pci ar724x-pci.1: PCIe link is down [ 0.139768] registering PCI controller with io_map_base unset [ 0.635297] PCI host bridge to bus 0000:00 [ 0.639703] pci_bus 0000:00: root bus resource [mem 0x10000000-0x11ffffff] [ 0.647011] pci_bus 0000:00: root bus resource [io 0x0000] [ 0.652948] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0] [ 0.660166] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff] [ 0.668629] pci 0000:00:00.0: [168c:0046] type 00 class 0x028000 [ 0.668689] pci 0000:00:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit] [ 0.668820] pci 0000:00:00.0: PME# supported from D0 D3hot D3cold [ 0.668994] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00 [ 0.669017] pci 0000:00:00.0: BAR 0: assigned [mem 0x10000000-0x101fffff 64bit] [ 0.676891] PCI host bridge to bus 0000:01 [ 0.681274] pci_bus 0000:01: root bus resource [mem 0x12000000-0x13ffffff] [ 0.688588] pci_bus 0000:01: root bus resource [io 0x0001] [ 0.694529] pci_bus 0000:01: root bus resource [??? 0x00000000 flags 0x0] [ 0.701746] pci_bus 0000:01: No busn resource found for root bus, will use [bus 01-ff] [ 0.710192] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01 [ 0.712979] clocksource: Switched to clocksource MIPS [ 0.719206] NET: Registered protocol family 2 [ 0.724586] TCP established hash table entries: 2048 (order: 1, 8192 bytes) [ 0.732021] TCP bind hash table entries: 2048 (order: 1, 8192 bytes) [ 0.738837] TCP: Hash tables configured (established 2048 bind 2048) [ 0.745727] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.751953] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.758854] NET: Registered protocol family 1 [ 0.763551] PCI: CLS 0 bytes, default 32 [ 0.765844] Crashlog allocated RAM at address 0x3f00000 [ 0.772424] workingset: timestamp_bits=30 max_order=16 bucket_order=0 [ 0.783424] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.789623] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) © 2001-2006 Red Hat, Inc. [ 0.807585] io scheduler noop registered [ 0.811757] io scheduler deadline registered (default) [ 0.817618] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.826089] console [ttyS0] disabled [ 0.849975] serial8250.0: ttyS0 at MMIO 0x18020000 (irq = 11, base_baud = 2500000) is a 16550A [ 0.859158] console [ttyS0] enabled [ 0.866583] bootconsole [early0] disabled [ 0.880435] m25p80 spi0.0: found w25q128, expected m25p80 [ 0.895322] m25p80 spi0.0: w25q128 (16384 Kbytes) [ 0.900119] 4 cmdlinepart partitions found on MTD device spi0.0 [ 0.906142] Creating 4 MTD partitions on “spi0.0”: [ 0.911003] 0x000000000000-0x000000040000 : “u-boot” [ 0.917439] 0x000000040000-0x000000050000 : “art” [ 0.923327] 0x000000050000-0x000000ff0000 : “firmware” [ 0.962623] 2 uimage-fw partitions found on MTD device firmware [ 0.968666] 0x000000050000-0x0000001e0000 : “kernel” [ 0.974299] 0x0000001e0000-0x000000ff0000 : “rootfs” [ 0.979906] mtd: device 4 (rootfs) set to be root filesystem [ 0.985721] 1 squashfs-split partitions found on MTD device rootfs [ 0.991999] 0x0000004e0000-0x000000ff0000 : “rootfs_data” [ 0.999676] 0x000000ff0000-0x000001000000 : “art-backup” [ 1.006944] libphy: Fixed MDIO Bus: probed [ 1.024901] switch0: Atheros AR8337 rev. 2 switch registered on ag71xx-mdio.0 [ 1.713735] libphy: ag71xx_mdio: probed [ 2.344503] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.0:00 [uid=004dd036, driver=Atheros AR8216/AR8236/AR8316] [ 2.355745] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode: rgmii [ 2.602977] random: fast init done [ 2.984529] eth1: Atheros AG71xx at 0xba000000, irq 5, mode: sgmii [ 2.992321] NET: Registered protocol family 10 [ 3.000512] Segment Routing with IPv6 [ 3.004355] NET: Registered protocol family 17 [ 3.008911] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 3.022485] 8021q: 802.1Q VLAN Support v1.8 [ 3.028135] hctosys: unable to open rtc device (rtc0) [ 3.039108] VFS: Mounted root (squashfs filesystem) readonly on device 31:4. [ 3.047433] Freeing unused kernel memory: 320K [ 3.051937] This architecture does not have kernel memory protection. [ 3.758879] init: Console is alive [ 3.762518] init: - watchdog - [ 5.034191] kmodloader: loading kernel modules from /etc/modules-boot.d/* [ 5.092892] usbcore: registered new interface driver usbfs [ 5.098561] usbcore: registered new interface driver hub [ 5.104042] usbcore: registered new device driver usb [ 5.113392] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 5.121312] ehci-platform: EHCI generic platform driver [ 5.126725] ehci-platform ehci-platform.0: EHCI Host Controller [ 5.132765] ehci-platform ehci-platform.0: new USB bus registered, assigned bus number 1 [ 5.143061] ehci-platform ehci-platform.0: TX-TX IDP fix enabled [ 5.149169] ehci-platform ehci-platform.0: irq 48, io mem 0x1b000000 [ 5.183017] ehci-platform ehci-platform.0: USB 2.0 started, EHCI 1.00 [ 5.190197] hub 1-0:1.0: USB hub found [ 5.194317] hub 1-0:1.0: 1 port detected [ 5.198677] ehci-platform ehci-platform.1: EHCI Host Controller [ 5.204749] ehci-platform ehci-platform.1: new USB bus registered, assigned bus number 2 [ 5.215046] ehci-platform ehci-platform.1: TX-TX IDP fix enabled [ 5.221152] ehci-platform ehci-platform.1: irq 49, io mem 0x1b400000 [ 5.253027] ehci-platform ehci-platform.1: USB 2.0 started, EHCI 1.00 [ 5.260216] hub 2-0:1.0: USB hub found [ 5.264329] hub 2-0:1.0: 1 port detected [ 5.269199] kmodloader: done loading kernel modules from /etc/modules-boot.d/* [ 5.286916] init: - preinit - [ 6.042023] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 6.067901] random: procd: uninitialized urandom read (4 bytes read) [ 7.084431] eth0: link up (1000Mbps/Full duplex) [ 7.089258] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 9.402156] jffs2: notice: (449) jffs2_build_xattr_subsystem: complete building xattr subsystem, 28 of xdatum (0 unchecked, 26 orphan) and 62 of xref (24 dead, 19 orphan) found. [ 9.420058] mount_root: switching to jffs2 overlay [ 9.444597] overlayfs: upper fs does not support tmpfile. [ 9.455731] urandom-seed: Seeding with /etc/urandom.seed [ 9.581081] eth0: link down [ 9.594166] procd: - early - [ 9.597173] procd: - watchdog - [ 10.211970] procd: - watchdog - [ 10.215447] procd: - ubus - [ 10.330906] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.339110] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.346160] random: ubusd: uninitialized urandom read (4 bytes read) [ 10.353504] procd: - init - [ 11.033266] kmodloader: loading kernel modules from /etc/modules.d/* [ 11.097629] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 11.119494] Loading modules backported from Linux version v4.19.137-0-gc076c79e03c6 [ 11.127305] Backport generated by backports.git v4.19.137-1-0-g60c3a249 [ 11.154906] ip_tables: (C) 2000-2006 Netfilter Core Team [ 11.179555] nf_conntrack version 0.5.0 (4096 buckets, 16384 max) [ 11.272784] xt_time: kernel timezone is -0000 [ 11.390784] urngd: v1.0.2 started. [ 11.396416] PPP generic driver version 2.4.2 [ 11.402706] NET: Registered protocol family 24 [ 11.455257] pci 0000:00:00.0: using irq 40 for pin 1 [ 11.460300] ath10k 4.19 driver, optimized for CT firmware, probing pci device: 0x46. [ 11.493649] PCI: Enabling device 0000:00:00.0 (0000 → 0002) [ 11.499656] ath10k_pci 0000:00:00.0: pci irq legacy oper_irq_mode 1 irq_mode 0 reset_mode 0 [ 11.597591] random: crng init done [ 11.601050] random: 6 urandom warning(s) missed due to ratelimiting [ 11.713373] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/fwcfg-pci-0000:00:00.0.txt failed with error -2 [ 11.724093] ath10k_pci 0000:00:00.0: Falling back to user helper [ 12.083652] firmware ath10k!fwcfg-pci-0000:00:00.0.txt: firmware_loading_store: map pages failed [ 12.095694] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/ct-firmware-5.bin failed with error -2 [ 12.106844] ath10k_pci 0000:00:00.0: Falling back to user helper [ 12.388038] firmware ath10k!QCA9984!hw1.0!ct-firmware-5.bin: firmware_loading_store: map pages failed [ 12.397667] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/ct-firmware-2.bin failed with error -2 [ 12.408811] ath10k_pci 0000:00:00.0: Falling back to user helper [ 12.703697] firmware ath10k!QCA9984!hw1.0!ct-firmware-2.bin: firmware_loading_store: map pages failed [ 12.713343] ath10k_pci 0000:00:00.0: Direct firmware load for ath10k/QCA9984/hw1.0/firmware-6.bin failed with error -2 [ 12.724230] ath10k_pci 0000:00:00.0: Falling back to user helper [ 13.013715] firmware ath10k!QCA9984!hw1.0!firmware-6.bin: firmware_loading_store: map pages failed [ 13.737043] ath10k_pci 0000:00:00.0: qca9984/qca9994 hw1.0 target 0x01000000 chip_id 0x00000000 sub 168c:cafe [ 13.747134] ath10k_pci 0000:00:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0 [ 13.767260] ath10k_pci 0000:00:00.0: firmware ver 10.4b-ct-9984-fW-13-795874169 api 5 features mfp,peer-flow-ctrl,txstatus-noack,wmi-10.x-CT,ratemask-CT,regdump-CT,txrate-CT,flush-all-CT,pingpong-CT,ch-regs-CT,nop-CT,set-special-CT,tx-rc-CT,cust-stats-CT,txrate2-CT,beacon-cb-CT,wmi-block-ack-CT,wmi-bcn-rc-CT crc32 f3d4b769 [ 16.120650] ath10k_pci 0000:00:00.0: board_file api 2 bmi_id 0:1 crc32 85498734 [ 21.969124] ath10k_pci 0000:00:00.0: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 21.976756] ath10k_pci 0000:00:00.0: msdu-desc: 2500 skid: 32 [ 22.058566] ath10k_pci 0000:00:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 22.069672] ath10k_pci 0000:00:00.0: wmi print 'free: 84920 iram: 13316 sram: 11224' [ 22.327417] ath10k_pci 0000:00:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal pre-cal-file max-sta 32 raw 0 hwcrypto 1 [ 22.435614] ath: EEPROM regdomain: 0x0 [ 22.435620] ath: EEPROM indicates default country code should be used [ 22.435623] ath: doing EEPROM country→regdmn map search [ 22.435636] ath: country maps to regdmn code: 0x3a [ 22.435640] ath: Country alpha2 being used: US [ 22.435644] ath: Regpair used: 0x3a [ 22.493912] ath: EEPROM regdomain: 0x0 [ 22.493919] ath: EEPROM indicates default country code should be used [ 22.493922] ath: doing EEPROM country→regdmn map search [ 22.493935] ath: country maps to regdmn code: 0x3a [ 22.493939] ath: Country alpha2 being used: US [ 22.493942] ath: Regpair used: 0x3a [ 22.511737] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht' [ 22.513413] ieee80211 phy1: Atheros AR9550 Rev:0 mem=0xb8100000, irq=47 [ 22.568644] kmodloader: done loading kernel modules from /etc/modules.d/* [ 31.209943] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready [ 31.217485] eth0: link up (1000Mbps/Full duplex) [ 31.222525] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready [ 31.245600] br-lan: port 1(eth0.1) entered blocking state [ 31.251083] br-lan: port 1(eth0.1) entered disabled state [ 31.256915] device eth0.1 entered promiscuous mode [ 31.261779] device eth0 entered promiscuous mode [ 31.287161] br-lan: port 1(eth0.1) entered blocking state [ 31.292647] br-lan: port 1(eth0.1) entered forwarding state [ 31.298541] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 31.510870] eth1: link up (1000Mbps/Full duplex) [ 31.543303] br-lan: port 2(eth1.2) entered blocking state [ 31.548788] br-lan: port 2(eth1.2) entered disabled state [ 31.554540] device eth1.2 entered promiscuous mode [ 31.559404] device eth1 entered promiscuous mode [ 31.564249] br-lan: port 2(eth1.2) entered blocking state [ 31.569733] br-lan: port 2(eth1.2) entered forwarding state [ 32.283443] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 34.150683] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready [ 34.191891] br-lan: port 3(wlan1) entered blocking state [ 34.197435] br-lan: port 3(wlan1) entered disabled state [ 34.203097] device wlan1 entered promiscuous mode [ 34.208149] br-lan: port 3(wlan1) entered blocking state [ 34.213581] br-lan: port 3(wlan1) entered forwarding state [ 34.235971] br-lan: port 3(wlan1) entered disabled state [ 40.281656] ath10k_pci 0000:00:00.0: 10.4 wmi init: vdevs: 16 peers: 48 tid: 96 [ 40.289359] ath10k_pci 0000:00:00.0: msdu-desc: 2500 skid: 32 [ 40.371401] ath10k_pci 0000:00:00.0: wmi print 'P 48/48 V 16 K 144 PH 176 T 186 msdu-desc: 2500 sw-crypt: 0 ct-sta: 0' [ 40.382520] ath10k_pci 0000:00:00.0: wmi print 'free: 84920 iram: 13316 sram: 11224' [ 40.738509] ath10k_pci 0000:00:00.0: Firmware lacks feature flag indicating a retry limit of > 2 is OK, requested limit: 4 [ 40.749860] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 40.782965] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [ 40.789605] br-lan: port 3(wlan1) entered blocking state [ 40.795039] br-lan: port 3(wlan1) entered forwarding state [ 40.806105] br-lan: port 4(wlan0) entered blocking state [ 40.811500] br-lan: port 4(wlan0) entered disabled state [ 40.817220] device wlan0 entered promiscuous mode [ 41.280063] ath10k_pci 0000:00:00.0: NOTE: Firmware DBGLOG output disabled in debug_mask: 0x10000000 [ 41.813383] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 41.820083] br-lan: port 4(wlan0) entered blocking state [ 41.825540] br-lan: port 4(wlan0) entered forwarding state


This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
  • Last modified: 2024/02/12 11:13
  • by 127.0.0.1