Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ath79: add support for KuWfi CPE830(D) / YunCore CPE830(D) #2297

Closed
wants to merge 1 commit into from

Conversation

grosjo
Copy link
Contributor

@grosjo grosjo commented Aug 4, 2019

KuWfi CPE830(D) / YunCore CPE830(D) are same (rebranded) items of an outdoor
CPE/AP based on Qualcomm/Atheros QCA9531, using AP147 design.

Board uses ath9k driver (and not ath10k as previously stated in Openwrt)

Short specification:

  • 650/600/216 MHz (CPU/DDR/AHB)
  • 2x 10/100 Mbps Ethernet, passive PoE support
  • 64 MB of RAM (DDR2)
  • 16 MB of FLASH
  • 2T2R 2.4 GHz with external PA, up to 30 dBm (1000mW)
  • 2x internal 14 dBi antennas
  • 8x LED, 1x button
  • No UART on PCB on some versions
  • Display panel with 2x buttons (F/N) not supported (and not relevant in OpenWrt)

Flash instructions

  1. Connect PC with 192.168.0.141 to WAN port
  2. Install a TFTP server on your PC ('atftp' is doing the job for instance)
  3. Copy your firmware in the TFTP folder as upgrade.bin
  4. Power up device pushing the 'reset' button
  5. The device shall upload upgrade.bin, install it and reboot
  6. Device shall be booting on 192.168.1.1 as default

Signed-off by: Joan Moreau jom@grosjo.net

@grosjo grosjo force-pushed the kuwfi830 branch 9 times, most recently from e6daedb to 41bb745 Compare August 5, 2019 07:31
@grosjo
Copy link
Contributor Author

grosjo commented Aug 5, 2019

[    0.000000] Linux version 4.19.62 (admin@gjserver) (gcc version 7.4.0 (OpenWrt GCC 7.4.0 r10675-c070662980)) #0 Sun Aug 4 20:37:15 2019
[    0.000000] bootconsole [early0] enabled
[    0.000000] CPU0 revision is: 00019374 (MIPS 24Kc)
[    0.000000] MIPS: machine is KuWfi 830D
[    0.000000] SoC: Qualcomm Atheros QCA9533 ver 2 rev 0
[    0.000000] Determined physical RAM map:
[    0.000000]  memory: 04000000 @ 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-0x0000000003ffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x0000000003ffffff]
[    0.000000] On node 0 totalpages: 16384
[    0.000000]   Normal zone: 128 pages used for memmap
[    0.000000]   Normal zone: 0 pages reserved
[    0.000000]   Normal zone: 16384 pages, LIFO batch:3
[    0.000000] random: get_random_bytes called from 0x804aa740 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: 16256
[    0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd rootfstype=squashfs,jffs2
[    0.000000] Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.000000] Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Writing ErrCtl register=00000000
[    0.000000] Readback ErrCtl register=00000000
[    0.000000] Memory: 58756K/65536K available (3709K kernel code, 151K rwdata, 524K rodata, 1176K init, 197K bss, 6780K 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] CPU clock: 650.000 MHz
[    0.000000] clocksource: MIPS: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 5880801374 ns
[    0.000008] sched_clock: 32 bits at 325MHz, resolution 3ns, wraps every 6607641598ns
[    0.008234] Calibrating delay loop... 432.53 BogoMIPS (lpj=2162688)
[    0.074858] pid_max: default: 32768 minimum: 301
[    0.079940] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.086914] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[    0.096478] devtmpfs: initialized
[    0.102046] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    0.112461] futex hash table entries: 256 (order: -1, 3072 bytes)
[    0.118975] pinctrl core: initialized pinctrl subsystem
[    0.125440] NET: Registered protocol family 16
[    0.136568] PCI host bridge /ahb/pcie-controller@180c0000 ranges:
[    0.143004]  MEM 0x0000000010000000..0x0000000013ffffff
[    0.148568]   IO 0x0000000000000000..0x0000000000000000
[    0.154071] ar724x-pci 180c0000.pcie-controller: PCIe link is down
[    0.173557] PCI host bridge to bus 0000:00
[    0.177890] pci_bus 0000:00: root bus resource [mem 0x10000000-0x13ffffff]
[    0.185198] pci_bus 0000:00: root bus resource [io  0x0000]
[    0.191069] pci_bus 0000:00: root bus resource [??? 0x00000000 flags 0x0]
[    0.198230] pci_bus 0000:00: No busn resource found for root bus, will use [bus 00-ff]
[    0.207359] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 00
[    0.210044] clocksource: Switched to clocksource MIPS
[    0.219031] NET: Registered protocol family 2
[    0.224399] tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes)
[    0.232550] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[    0.239897] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[    0.246618] TCP: Hash tables configured (established 1024 bind 1024)
[    0.253477] UDP hash table entries: 256 (order: 0, 4096 bytes)
[    0.259646] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[    0.266580] NET: Registered protocol family 1
[    0.271241] PCI: CLS 0 bytes, default 32
[    0.274242] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[    0.286661] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.292867] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc.
[    0.313013] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[    0.320871] io scheduler noop registered
[    0.324998] io scheduler deadline registered (default)
[    0.333091] pinctrl-single 1804002c.pinmux: 576 pins, size 72
[    0.342461] Serial: 8250/16550 driver, 1 ports, IRQ sharing disabled
[    0.362372] m25p80 spi0.0: w25q128 (16384 Kbytes)
[    0.367373] 4 fixed-partitions partitions found on MTD device spi0.0
[    0.374107] Creating 4 MTD partitions on "spi0.0":
[    0.379157] 0x000000000000-0x000000040000 : "u-boot"
[    0.385859] 0x000000040000-0x000000050000 : "u-boot-env"
[    0.393326] 0x000000050000-0x000000ff0000 : "firmware"
[    0.401057] 2 uimage-fw partitions found on MTD device firmware
[    0.407302] Creating 2 MTD partitions on "firmware":
[    0.412601] 0x000000000000-0x000000170000 : "kernel"
[    0.419540] 0x000000170000-0x000000fa0000 : "rootfs"
[    0.426635] mtd: device 4 (rootfs) set to be root filesystem
[    0.433263] 1 squashfs-split partitions found on MTD device rootfs
[    0.439787] 0x000000440000-0x000000fa0000 : "rootfs_data"
[    0.446902] 0x000000ff0000-0x000001000000 : "art"
[    0.454844] libphy: Fixed MDIO Bus: probed
[    0.811915] libphy: ag71xx_mdio: probed
[    0.816953] ag71xx 19000000.eth: Could not connect to PHY device. Deferring probe.
[    1.500438] libphy: ag71xx_mdio: probed
[    1.505881] libphy: ar8xxx-mdio: probed
[    1.518596] switch0: Atheros AR8229 rev. 1 switch registered on mdio-bus.1
[    1.571549] ag71xx 1a000000.eth: connected to PHY at fixed-0:00 [uid=00000000, driver=Generic PHY]
[    1.581682] eth0: Atheros AG71xx at 0xba000000, irq 5, mode: gmii
[    1.590845] NET: Registered protocol family 17
[    1.595593] 8021q: 802.1Q VLAN Support v1.8
[    1.942310] ag71xx 19000000.eth: connected to PHY at mdio-bus.1:1f:04 [uid=004dd042, driver=Generic PHY]
[    1.952978] eth1: Atheros AG71xx at 0xb9000000, irq 4, mode: mii
[    1.960386] Warning: unable to open an initial console.
[    1.973562] VFS: Mounted root (squashfs filesystem) readonly on device 31:4.
[    1.989841] devtmpfs: mounted
[    1.999381] Freeing unused kernel memory: 1176K
[    2.004180] This architecture does not have kernel memory protection.
[    2.010973] Run /sbin/init as init process
[    2.570050] random: fast init done
[    3.210213] init: Console is alive
[    3.214026] init: - watchdog -
[    4.474414] kmodloader: loading kernel modules from /etc/modules-boot.d/*
[    4.560266] SCSI subsystem initialized
[    4.568363] kmodloader: done loading kernel modules from /etc/modules-boot.d/*
[    4.586488] init: - preinit -
[    5.572312] random: jshn: uninitialized urandom read (4 bytes read)
[    5.726652] random: jshn: uninitialized urandom read (4 bytes read)
[    5.775240] random: jshn: uninitialized urandom read (4 bytes read)
[    6.991302] eth0: link up (1000Mbps/Full duplex)
[    8.309781] jffs2: notice: (836) jffs2_build_xattr_subsystem: complete building xattr subsystem, 3 of xdatum (0 unchecked, 1 orphan) and 7 of xref (1 dead, 0 orphan) found.
[    8.328093] mount_root: switching to jffs2 overlay
[    8.355600] overlayfs: upper fs does not support tmpfile.
[    8.368746] urandom-seed: Seeding with /etc/urandom.seed
[    8.538219] eth0: link down
[    8.552950] procd: - early -
[    8.556081] procd: - watchdog -
[    9.172947] procd: - watchdog -
[    9.176456] procd: failed to set stdio: No such device
[    9.182003] procd: - ubus -
[    9.252265] urandom_read: 5 callbacks suppressed
[    9.252273] random: ubusd: uninitialized urandom read (4 bytes read)
[    9.330801] random: ubusd: uninitialized urandom read (4 bytes read)
[    9.338776] procd: - init -
[    9.941893] kmodloader: loading kernel modules from /etc/modules.d/*
[   10.119783] loop: module loaded
[   10.134675] i2c /dev entries driver
[   10.158612] Loading modules backported from Linux version v5.2-rc7-0-g6fbc7275c7a9
[   10.166651] Backport generated by backports.git v5.2-rc7-1-0-g021a6ba1
[   10.181573] urngd: v1.0.0 started.
[   10.220783] xt_time: kernel timezone is -0000
[   10.436730] ath: EEPROM regdomain: 0x0
[   10.436739] ath: EEPROM indicates default country code should be used
[   10.436742] ath: doing EEPROM country->regdmn map search
[   10.436756] ath: country maps to regdmn code: 0x3a
[   10.436761] ath: Country alpha2 being used: US
[   10.436764] ath: Regpair used: 0x3a
[   10.449160] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht'
[   10.450192] ieee80211 phy0: Atheros AR9531 Rev:2 mem=0xb8100000, irq=12
[   10.560292] kmodloader: done loading kernel modules from /etc/modules.d/*
[   10.674150] random: crng init done
[   20.091335] eth0: link up (1000Mbps/Full duplex)
[   20.096608] br-lan: port 1(eth0) entered blocking state
[   20.102186] br-lan: port 1(eth0) entered disabled state
[   20.107946] device eth0 entered promiscuous mode
[   20.155132] br-lan: port 1(eth0) entered blocking state
[   20.160706] br-lan: port 1(eth0) entered forwarding state

@grosjo grosjo force-pushed the kuwfi830 branch 4 times, most recently from 4af08e8 to 402e417 Compare August 5, 2019 08:10
Copy link
Member

@blocktrron blocktrron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR"

Some suggestions below 🐼

target/linux/ath79/image/generic.mk Outdated Show resolved Hide resolved
target/linux/ath79/image/generic.mk Show resolved Hide resolved
target/linux/ath79/image/generic.mk Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_kuwfi_830d.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_kuwfi_830d.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_kuwfi_830d.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_kuwfi_830d.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_yuncore_cpe830.dts Outdated Show resolved Hide resolved
Copy link
Member

@blocktrron blocktrron left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some more suggestions below. They are valid for both boards.

You might have misunderstood my point about creating a shared dtsi a bit. If these boards are identical hardware wise, you can put all properties into a shared dtsi (except for the leds, aliases and model-/compatible strings).

Have a look at e.g. the D-Link DIR-842 family or the Devolo dvlxxxx at how this is done. 👍

target/linux/ath79/dts/qca9531_yuncore_cpe830.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_yuncore_cpe830.dts Outdated Show resolved Hide resolved
target/linux/ath79/dts/qca9531_yuncore_cpe830.dts Outdated Show resolved Hide resolved
target/linux/ath79/image/generic.mk Outdated Show resolved Hide resolved
@blocktrron blocktrron self-assigned this Aug 5, 2019
@grosjo grosjo force-pushed the kuwfi830 branch 2 times, most recently from 30f7b0a to 60015da Compare August 5, 2019 12:44
@grosjo
Copy link
Contributor Author

grosjo commented Aug 5, 2019

Some more suggestions below. They are valid for both boards.

You might have misunderstood my point about creating a shared dtsi a bit. If these boards are identical hardware wise, you can put all properties into a shared dtsi (except for the leds, aliases and model-/compatible strings).

Have a look at e.g. the D-Link DIR-842 family or the Devolo dvlxxxx at how this is done. +1

As all those boards rely on AP147_010 design, I made a dtsi as such, and linked the yuncore and kuwfi on it

@blocktrron
Copy link
Member

Can you remove the LED definitions from your dtsi? I see it might be reused in other devices (which might not feature LEDs at all / different LEDs).

Removing nodes in inheriting files is possible, thus the LED definition is something which should be set on a per-individual-device base.

I've made two additional comments in out conversation above.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 5, 2019

Can you remove the LED definitions from your dtsi? I see it might be reused in other devices (which might not feature LEDs at all / different LEDs).

Removing nodes in inheriting files is possible, thus the LED definition is something which should be set on a per-individual-device base.

I've made two additional comments in out conversation above.

cleaned up the leds

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

  • GPIO for Display panel and F/N buttons?

That would be nice.

@Neustradamus , @CodeFetch : as said several times already, this is totally and 100% pointless. THis block of LCD on the bottom or switch or F/N button are totally useless in OpenWrt setup. Only used in the crappy firmware shipped with th edevice, as WDS is handled differently in OpenWrt than in chinese firmware

@CodeFetch
Copy link
Contributor

@grosjo Some people might want to use this switch and LCD display.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

@grosjo Some people might want to use this switch and LCD display.

Then they do another PR. Can we start by pushing this into master (and remove the offensive tags from @pepe2k ) so whoever wants to improve it will do ?

@CodeFetch
Copy link
Contributor

No, because there are some things that need to be changed. Only proper device support will be merged.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

No, because there are some things that need to be changed. Only proper device support will be merged.

Then what are those "some things" ? THere is /nothing/ linked to the change request (as per Github)
and offensive commetns are very very very not welcome.

Copy link
Contributor

@CodeFetch CodeFetch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ugly PR

model = "YunCore/KuWfi CPE830(D)";

chosen {
bootargs = "console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

WRONG

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Meaning what ?

echo -n -e "YUNCOREsetenv bootcmd \"bootm 0x9f050000 || bootm 0x9fe80000\" &&" \
"setenv resetcmd \"erase 0x9f050000 +0xfa0000 && cp.b 0x800600c0 0x9f050000 0xfa0000\" && \
"setenv bootargs \"console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd\" && \
"saveenv && erase 0x9f050000 +0xfa0000 && cp.b 0x800600c0 0x9f050000 0xfa0000" | \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DON'T USE MY CODE HERE AND WRONG!

target/linux/ath79/image/generic.mk Show resolved Hide resolved
target/linux/ath79/image/generic.mk Show resolved Hide resolved
target/linux/ath79/image/generic.mk Show resolved Hide resolved
DEVICE_ALT0_MODEL = CPE830(D)
IMAGE_SIZE := 16000k
IMAGES += tftp.bin
IMAGE/tftp.bin := $$(IMAGE/sysupgrade.bin) | yuncore-tftp-header-qca953x
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is blocked until my PR is through

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So change your PR so it fits the needs not only your wishes

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

Ugly PR

Keep on insulting people, this is very constructive.....

@CodeFetch
Copy link
Contributor

No, buying one of these devices and doing an own PR would be constructive.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

No, buying one of these devices and doing an own PR would be constructive.

What bullshit are you saying ?

@CodeFetch
Copy link
Contributor

You do not listen. Thus it is wasted energy.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

You do not listen. Thus it is wasted energy.

Not planing to listen to someone insulting me at every line

@CodeFetch
Copy link
Contributor

@grosjo What is really offensive is that you mark my review comments as resolved while they are not, that you use code from my PR without asking and that you always ask whether it can be merged to master while you know that only proper device support will be merged.

Remember?

@grosjo Okay... Let us both calm down... Let's do this systematically.
console=ttyS0,115200 can be removed, because you can't even check whether it is needed as you own a device without UART.

resetcmd is executed by U-Boot if the TFTP image lacks a header with a defined command to execute. Thus it shouldn't be set as we don't expect TFTP to execute anything if the header is missing.

rootfstype=squashfs,jffs2 is not needed as your kernel output says it is being set (you have it twice here):

[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd rootfstype=squashfs,jffs2

See also CONFIG_CMDLINE="rootfstype=squashfs,jffs2" in ath79 kernel config.

noinitrd Please read the man page when it's needed:

'noinitrd'
(Only if the kernel was compiled with CONFIG_BLK_DEV_RAM and
CONFIG_BLK_DEV_INITRD.) These days it is possible to compile
the kernel to use initrd. When this feature is enabled, the
boot process will load the kernel and an initial ramdisk; then
the kernel converts initrd into a "normal" ramdisk, which is
mounted read-write as root device; then /linuxrc is executed;
afterward the "real" root filesystem is mounted, and the ini‐
trd filesystem is moved over to /initrd; finally the usual
boot sequence (e.g., invocation of /sbin/init) is performed.

          For a detailed description of the initrd feature, see the ker‐
          nel source file Documentation/admin-guide/initrd.rst (or Docu‐
          mentation/initrd.txt before Linux 4.10).

          The 'noinitrd' option tells the kernel that although it was
          compiled for operation with initrd, it should not go through
          the above steps, but leave the initrd data under /dev/initrd.
          (This device can be used only once: the data is freed as soon
          as the last process that used it has closed /dev/initrd.)

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

@grosjo What is really offensive is that you mark my review comments as resolved while they are not, that you use code from my PR without asking and that you always ask whether it can be merged to master while you know that only proper device support will be merged.

Remember?

@grosjo Okay... Let us both calm down... Let's do this systematically.
console=ttyS0,115200 can be removed, because you can't even check whether it is needed as you own a device without UART.
resetcmd is executed by U-Boot if the TFTP image lacks a header with a defined command to execute. Thus it shouldn't be set as we don't expect TFTP to execute anything if the header is missing.
rootfstype=squashfs,jffs2 is not needed as your kernel output says it is being set (you have it twice here):

[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd rootfstype=squashfs,jffs2

See also CONFIG_CMDLINE="rootfstype=squashfs,jffs2" in ath79 kernel config.
noinitrd Please read the man page when it's needed:

'noinitrd'
(Only if the kernel was compiled with CONFIG_BLK_DEV_RAM and
CONFIG_BLK_DEV_INITRD.) These days it is possible to compile
the kernel to use initrd. When this feature is enabled, the
boot process will load the kernel and an initial ramdisk; then
the kernel converts initrd into a "normal" ramdisk, which is
mounted read-write as root device; then /linuxrc is executed;
afterward the "real" root filesystem is mounted, and the ini‐
trd filesystem is moved over to /initrd; finally the usual
boot sequence (e.g., invocation of /sbin/init) is performed.

          For a detailed description of the initrd feature, see the ker‐
          nel source file Documentation/admin-guide/initrd.rst (or Docu‐
          mentation/initrd.txt before Linux 4.10).

          The 'noinitrd' option tells the kernel that although it was
          compiled for operation with initrd, it should not go through
          the above steps, but leave the initrd data under /dev/initrd.
          (This device can be used only once: the data is freed as soon
          as the last process that used it has closed /dev/initrd.)

THis is totally bull

Now, please, can you please act normally ?

@CodeFetch
Copy link
Contributor

THis is totally bull

No, this is a good, technical explanation of why the bootcmd you define here is unnecessary.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

THis is totally bull

No, this is a good, technical explanation of why the bootcmd you define here is unnecessary.

The REALITY is different than your THEORY

What can I do ? keep supporting your harassment and try to change the reality (impossible, both cases) or just do what is right ?

@CodeFetch
Copy link
Contributor

@grosjo
Do you know "ockham's razor"? The same principle applies here. Don't define anything which is not beneficial to functionality. That's why it's important to check whether the bootcmds are really needed.
You seem to be a pure empirist as you say "I see it does work this way: thus this is the reality". I think this is human error and don't believe that you've gone through the process of elimination to find out the factor that makes it work or doesn't let it.
This is no harassment. Have you tried? Please read what I say (which is rational as I don't own a device and can't do empirical experiments/you need to do them):

CONFIG_CMDLINE="rootfstype=squashfs,jffs2" is already defined in ath79 kernel config.
And as you can see in the bootlog you posted:

[ 0.000000] Kernel command line: console=ttyS0,115200 rootfstype=squashfs,jffs2 noinitrd rootfstype=squashfs,jffs2

You have it twice here because of that. It's unneeded in your DTS, because it's already defined in the config file.

noinitrd

Only if the kernel was compiled with CONFIG_BLK_DEV_RAM and
CONFIG_BLK_DEV_INITRD.

This is not the case here. Thus it does not do anything on this device and can be removed.

console=ttyS0,115200

This is only needed if you have a UART console to set the baud rate and the serial device. As there is no UART device populated on the CPE830D, you can remove it.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

Don't care your philosophy

command line : without it ,it fails

noinitrd : why do you pre-suppose taht the kenerl is not compiled this or that way. "free will" is a concept that you have never heard of ?

console : as mentionned so many times (too much actually) : some device DO HAVE a UART and some other DO NOT

Can you please stop your harassment (it is , at least as the German court will define it) and act normally ?

@CodeFetch
Copy link
Contributor

CodeFetch commented Aug 25, 2019

@grosjo

Don't care your philosophy

command line : without it it fails

Then you need to find out why and do the elimination process (remove one bootcmd parameter after another until it doesn't boot anymore)

noinitrd : hy do you pre-supposed the kenerl is not compiled this or that way. "free will" is a concept that you ahev never heard of ?

Ockham's razor... Why do you presume someone compiling the kernel this way?

console : as mentionned so many times (too much actualY) : some device DO HAVE a UART and someother DO NOT

CPE830 has, but not CPE830D

Can you please stop your harassment (it is , at least as the German court will define it) and act normally ?

No, the German court wouldn't. They'd say I did not use insults and you could just have "moved away" if you've felt to be harassed.

What is your problem actually? Please just test the changes, because your PR does not make sense at the moment.

BTW I think the change pepe2k requested was:
You changed one GPIO definition where he said it is different from the CPE830 to the same value without checking it on real hardware. You need to test the GPIO definitions.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

Not planning to kill other device (and loose additional money) on this topic, to "test" some of your "invention"

So pissed by you,

If you want people to conritbute to your project, don'tinsult them, that is the basic

@CodeFetch
Copy link
Contributor

CodeFetch commented Aug 25, 2019

Not planning to kill other device (and loose additional money) on this topic, to "test" some of your "invention"

The worst thing that can happen is that the router denies installing the firmware.

If you want people to conritbute to your project, don'tinsult them, that is the basic

Please show me the insult. I agree my stress levels are high. The most insulting thing that happened here is that you mark my reviews as resolved without doing changes.

Edit: By the way I told you you need a SPI flasher if you work on a device without serial console and take flash dumps for recovery purposes before playing around with it.

@grosjo
Copy link
Contributor Author

grosjo commented Aug 25, 2019

Have a good life

@CodeFetch
Copy link
Contributor

Good luck!

@grosjo grosjo force-pushed the kuwfi830 branch 2 times, most recently from 3405a2b to 98057fb Compare August 25, 2019 15:35
KuWfi CPE830(D) / YunCore CPE830(D) are same (rebranded) items of an outdoor
CPE/AP based on Qualcomm/Atheros QCA9531, using AP147 design.

Board uses ath9k driver (and not ath10k as previously stated in Openwrt)

Short specification:

- 650/600/216 MHz (CPU/DDR/AHB)
- 2x 10/100 Mbps Ethernet, passive PoE support
- 64 MB of RAM (DDR2)
- 16 MB of FLASH
- 2T2R 2.4 GHz with external PA, up to 30 dBm (1000mW)
- 2x internal 14 dBi antennas
- 8x LED (POWER/WLAN/WAN/LAN/4xRSSI), 1x button
- No UART on PCB on some versions
- Display panel with 2x buttons (F/N) not supported (and not relevant in OpenWrt)

Flash instruction

1. Connect PC with 192.168.0.141 to WAN port
2. Install a TFTP server on your PC ('atftp' is doing the job for instance)
3. Copy ./bin/targets/ath79/generic/openwrt-ath79-generic-yuncore_cpe830-squashfs-tftp.bin in the TFTP folder as upgrade.bin
4. Power up device pushing the 'reset' button
5. The device shall upload upgrade.bin, install it and reboot
6. Device shall be booting on 192.168.1.1 as default on LAN port (note : you need to change your cable from WAN to LAN)

Signed-off by: Joan Moreau <jom@grosjo.net>
@grosjo grosjo closed this Aug 25, 2019
@openwrt openwrt locked as too heated and limited conversation to collaborators Aug 25, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
needs changes target/ath79 pull request/issue for ath79 target
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants