Cisco/Technicolor DPC3848VE Linux

Ideally for this case a utility would detach the filesystem and run in memory and then write only p3. p0 can be written from running p3. You are back to serial if anything goes wrong.

That's what sysupgrade does, and what I added to just touch the p1 and p3, and recover the overlay afterwards.

For the ath9k, can you provide your full dmesg? I'm curious as to why it's failing, because it seems to be recognized properly and such, but for some reason it just doesn't work

Well I did post this already

[   19.953447] ath: phy1: Unable to initialize hardware; initialization status: -5
[   19.960880] ath9k 0000:02:00.0: Failed to initialize device
[   19.966560] ath9k: probe of 0000:02:00.0 failed with error -5

Are these them?
168C:0030
168C:003C

At least the faster one is working. I have a MT7621 based Linksys router here I use that I think does the hardware acceleration and is pretty strong with wifi, so I am still using that one.

Maybe I have a slightly different hardware than you? I am going to be working on a youtube video about obscure openwrt installs today with pictures of my hardware. I have a cold so I hope my voice gets better enough to work on it.

I was requesting the full dmesg. You can grab it by running dmesg > /tmp/dmesg.log and then copy that file to a share, or via SCP to your machine.

The ath9k (2ghz) is 168c:0030, and the ath10k (5ghz) is 168c:003c.

02:00.0 0280: 168c:0030 (rev 01)
        Subsystem: 168c:3112
        Flags: bus master, fast devsel, latency 0, IRQ 16
        Memory at bfe00000 (64-bit, non-prefetchable) [size=128K]
        Expansion ROM at bfe20000 [virtual] [disabled] [size=64K]
        Capabilities: [40] Power Management version 3
        Capabilities: [50] MSI: Enable- Count=1/4 Maskable+ 64bit+
        Capabilities: [70] Express Endpoint, IntMsgNum 0
        Kernel driver in use: ath9k

In my case, when the ath9k loads, I only see:

[   14.023410] ath10k_pci 0000:03:00.0: qca988x hw2.0 target 0x4100016c chip_id 0x043202ff sub 0000:0000
[   14.032781] ath10k_pci 0000:03:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 0
[   14.043205] ath10k_pci 0000:03:00.0: firmware ver 10.2.4-1.0-00047 api 5 features no-p2p,raw-mode,mfp,allows-mesh-bcast crc32 35bd9258
[   14.276330] ath10k_pci 0000:03:00.0: board_file api 1 bmi_id N/A crc32 bebc7c08
[   15.331196] ath10k_pci 0000:03:00.0: htt-ver 2.1 wmi-op 5 htt-op 2 cal file max-sta 128 raw 0 hwcrypto 1
[   15.450271] ath: EEPROM regdomain: 0x0
[   15.450297] ath: EEPROM indicates default country code should be used
[   15.450301] ath: doing EEPROM country->regdmn map search
[   15.450307] ath: country maps to regdmn code: 0x3a
[   15.450312] ath: Country alpha2 being used: US
[   15.450317] ath: Regpair used: 0x3a
[   15.492831] ath9k 0000:02:00.0: enabling device (0000 -> 0002)
[   15.572616] ath: EEPROM regdomain: 0x0
[   15.572639] ath: EEPROM indicates default country code should be used
[   15.572644] ath: doing EEPROM country->regdmn map search
[   15.572650] ath: country maps to regdmn code: 0x3a
[   15.572655] ath: Country alpha2 being used: US
[   15.572660] ath: Regpair used: 0x3a
[   15.582438] ieee80211 phy1: Selected rate control algorithm 'minstrel_ht'
[   15.584382] ieee80211 phy1: Atheros AR9300 Rev:3 mem=0xc0792cf6, irq=16
[   15.592021] kmodloader: done loading kernel modules from /etc/modules.d/*

I don't know if it is possible (for me) to send you the file, but I put it on my web server and you can use this link:

https://web.ncf.ca/fs864/pickup/puma-dmesg.txt

It is too big to put here.

Also I forgot to say my unit I think has 512MB or ram!!

https://web.ncf.ca/fs864/pickup/puma-dmesg.txt

Yes, seems like the issue is caused by the kernel config PCIEASPM being set per this.

To rule this out, run make kernel_menuconfig, navigate to Device Drivers -> PCI support -> PCI Express ASPM control. See if it's NOT set (i.e. ). If it's set, press space bar until its not set, exit the config and save changes, and build again. That should fix it.
image

Oh I didn't even know that menu existed, but rrrrrr nope that does not seem to be it. Really I kind of like the idea of leaving it alone now that it is back together, but I was going to update p1 with the kernel for you. Have you used sysupgrade? With which output file, the squash combined one? There are 2 I think efi and non efi.

looking for the error -5 and got this:

So is that used on bootup by the shell to setup wifi?
(Maybe need to change a value to p2 from p6?)

Good question, but I don't know. I'm not expert on the ath9k driver. My "p2" (i.e. config partition, mounted as /boot on OpenWRT) contains just these files:

cal
cal/calData_11n.bin
cal/calData_cus223-022-n1725_8417ef5a09e8.txt
cal/calData_cus223-022-n1725_8417ef5a09e8.bin
cal/calData_11ac.bin
etc
etc/ath
etc/ath/EAP.ap_bss
etc/ath/PSK.ap_bss
etc/ath/.configData
etc/ath/WSC.conf
etc/group
etc/dhclient.conf
etc/wpa2
etc/wpa2/WSC_ath0.conf
etc/wpa2/WSC_ath1.conf
etc/platform.cfg
etc/passwd
etc/dibbler_client.conf
lost+found
samba
samba/private
samba/private/secrets.tdb
samba/private/smbpasswd
samba/shares
samba/shares/public
samba/smb.conf
sdk
sdk/docsis_relax
var
var/log
var/log/events.out
var/backup
var/backup/2000-01-01_00h01m21s.configData
var/backup/2000-01-01_00h01m21s.WSC_ath1.conf
var/backup/2000-01-01_00h00m47s.configData
var/backup/2000-01-01_00h00m47s.WSC_ath1.conf
var/backup/2000-01-01_00h00m47s.WSC_ath0.conf
var/backup/2000-01-01_00h01m21s.WSC_ath0.conf

Note that cal/calData_11ac.bin is the calibration data for ath10k and it's REALLY required; if you have the 5GHz then that file has been detected and works. You can see there's another for the 2GHz, but it's not used because mine never asked for that... maybe we need to force it?

Can anyone else from this forum that knows about ath9k chime in here?

Have you used sysupgrade? With which output file, the squash combined one? There are 2 I think efi and non efi.

Yes, I've made it work with the "combined" images. Use the squashfs-combined.img (not gz). You can feed that file through LuCI if you have it enabled. Otherwise just copy the combined file to the modem's /tmp and run "sysupgrade /tmp/openwrt-blabala-combined.img".

I have tested the 5Ghz radio and it is working properly. It is possible I never copied it back in, but I could have done it properly.

-r-xr-xr-x 1 msuffidy msuffidy   2097152 Jul 28 23:37 config.img
-r-xr-xr-x 1 msuffidy msuffidy 117833728 Jul 28 23:37 orig-full-archive.bin

What is the filesystem type of config.img?

When I use dd I am afraid of incomplete writes so I always say bs=512 in dd, and I think that is how I got this. I think I am ok because block devices have partitions with 512n sizes. But it occurred to me when I dd the squashfile it is not 512x necessarily so I just left out bs-512.

to move p6 to p2 something has to look for a partition with a certain tag, or tell it it has moved.

That's fine, no need to set bs. Won't corrupt it. It should be a ext2 by default (from the original firmware). On OpenWRT, the p2 (which should be the same thing as this file) is mounted on /boot.

I had to copy it off the cd to the disk so it was writable to mount.

[root@FRZNWSTE ~]# ls -l /mnt/net3/*
/mnt/net3/cal:
total 5
-rw-r--r-- 1 root root 2116 Dec 31  1999 calData_11ac.bin
-rw-r--r-- 1 root root 1088 Dec 31  1999 calData_11n.bin

/mnt/net3/etc:
total 3
drwxr-xr-x 2 root root 1024 Dec 31  1999 ath
-rw-r--r-- 1 root root    0 Dec 31  1999 group
-rw-r--r-- 1 root root  108 Dec 31  1999 passwd
drwxr-xr-x 2 root root 1024 Dec 31  1999 wpa2

/mnt/net3/lost+found:
total 0

/mnt/net3/var:
total 2
drwxr-xr-x 2 root root 1024 Dec 31  1999 backup
drwxr-xr-x 2 root root 1024 Dec 31  1999 log

I will try to write to p2 in case I did something wrong, maybe that will fix it.

Try to dd that image directly into p2, and reboot

root@PUMA:/mnt/net1# dd if=config.img of=mmcblk0p2
4096+0 records in
4096+0 records out
root@PUMA:/mnt/net1# sync
root@PUMA:/mnt/net1# reboot

Nope so far it is doing the same thing. I probably did that right the first time.

Nope so far it is doing the same thing. I probably did that right the first time.

Most likely, otherwise you wouldn't have the 5GHz.

Out of curiosity, can you try this? These are some commands you can run on the modem. Won't hurt anything.

cd /lib/modules/*/
ls

and then

rmmod ath9k
modprobe ath9k debug=0x60C

And see what does it spit out on dmesg. It has additional debug information. I took this from this page

modprobe got this

[  193.939678] ath9k: ath9k: Driver unloaded
[  207.968248] ath: phy2: Unable to initialize hardware; initialization status: -5
[  207.975637] ath9k 0000:02:00.0: Failed to initialize device
[  207.981325] ath9k: probe of 0000:02:00.0 failed with error -5

One thing I found weird is p2 is in fact mounted according to df. Maybe I need to unmount it before write? Why does it let me? Perhaps it thinks it is EFI boot?
today

One thing I found weird is p2 is in fact mounted according to df. Maybe I need to unmount it. Perhaps it thinks it is EFI boot?

No no, it's perfectly fine. That's what OpenWRT does, and it's indeed what I want it to do.

Interesting that the debug didn't do anything. Argh... Maybe it's not enabled in the kernel config? (see that page I linked before).

I mostly left the menuconfig defaults but added a few things like mii or something phy on block or something. Maybe that had an effect or I am missing something. Maybe there is a subtle difference between our hardware. I consider it ok with just the AC since it is superior. On my main router here I have some legacy devices I connect to the 2Ghz.

I am actually currently set up to communicate with the DCP by 5Ghz wifi. It is just in the room plugged in. It is client to my wifi.

I consider it ok with just the AC since it is superior. On my main router here I have some legacy devices I connect to the 2Ghz.

Sure, that's correct.
So, USB, ethernet and LEDs work in your modem?

The USB DEFINITELY works, that is how I ran Linux in the first place to install it. I also just copied that image from a mounted stick. I think it had some issues with the end of the flash, or maybe just writing a lot to it at once. You don't see those errors now because it isn't trying to write. I am hoping it just involved wiping the flash blocks and not corrupting anything. Think switch shows connections.

So far it seems the LEDs are working, but I have not done a serious analysis. When it starts up it does the openwrt quick bleeps. The wifi activity is there.

Maybe there is something I can flip in /sys somewhere to change power state or something and then rmmod and modprobe the ath9? in rc.local?