That is probably the best approach to start a discussion about the code and how it may be integrated.
I got a DPC 3848V for free that someone was getting rid of it because of its lousy performance I assume. I did not expect openwrt to support it, but it sounds like it was more or less working somehow? I can't figure out how to open it up. Like screws under the feet? And also have no idea which image or if I have to compile one or use SPI or serial to flash it. Like to see it doing something though.
Hi, yes, I have OpenWRT working. I've update my branch but not lately. There's no official support, but you can build your own.
There are no instructions because how you install it depends on the actual firmware you're currently running. I've taken advantage of a really old exploit on these modems, where you can run stuff on the ARM6 core. By doing so, I've mounted the config partition that the Atom core uses (although it's also mounted on that core, but let's just pretend it doesn't matter), then touched a file (that enables telnet on the Atom core), rebooted, and from there on, you can manually copy OpenWRT to the end of the emmc storage (there's enough unused space at the end of the last partition), patch the "startup script" on the cefdk settings (this is tricky, but can be done rather easily), then flashing the rootfs to a USB thumbdrive, rebooting the modem, plugging the thumbdrive, and just hoping it "boots". Once it boots, the job is not done, you need to re-partition the emmc to get rid of all the original firmware, and reclaim all the space for OpenWRT's kernel and rootfs (and also backing up the 5ghz wifi calibration). Once that's done, you can enjoy it
In any case, that's the way to install this without taking it apart and using a serial console. If you want, it's technically "easier" to install from a serial console. To take it apart, remove the 4 torx screws at the bottom, and pry the case open (it has a lot of tabs, but they're really stiff).
The serial console is available at the bottom right, there's one for the Atom core and other for the ARM6.
Thanks for the information. I will look into it ASAP. The booting off of USB is certainly an option. I am a bit confused. It looks like you can do a firmware update in serial console? Is it possible to overwrite the basic booter that does that if you mess it up, or is it in some kind of ROM that can't be destroyed? Maybe I got this idea wrong. I am a bit confused about how I can mod the modem for USB boot without opening it up but I'll check it out. I actually do something like that on a Odroid C1 where the sd card is unreliable so I jump from the (small old card in slow read?) SD kernel to the Odroid USB right away as a root filesystem. Oh I am guessing it is 'TTL' serial? I use the original arduino as a converter.
From the non opening method you are mentioning it seems like you have one chance to reprogram the native flash and boot, not to mention overwrite the booter? After that I was hoping the flash was SPI programmable or not?
It looks like you can do a firmware update in serial console?
Certainly you can! These things boot from CEFDK, a crappy and horrible bootloader made by Intel (u-boot was too complex for them, I guess). From it, you can upload the OpenWRT kernel via ymodem or tftp (yeah, can't use USB), and write it directly to the emmc. Same for the rootfs, but I never tried, because CEFDK is certainly stupid and if you exceed some arbitrary size of binary, it crashes :).
Is it possible to overwrite the basic booter that does that if you mess it up, or is it in some kind of ROM that can't be destroyed?
You can overwrite the CEFDK, so you need to be really careful when entering offsets on CEFDK. The modems usually boot from an eMMC (which is emulated with a NAND and a controller), so in case you screw up, it might be possible to recover, granted you have a backup (but would require cutting some traces on the PCB, soldering wires, using a USB-SD adapter, and such).
I am a bit confused about how I can mod the modem for USB boot without opening it up but I'll check it out.
So, when the modem boots, CEFDK has a simple "script" stored in the config region on the emmc. That "script" just tells how to boot, and which arguments to pass to the kernel. If you can modify that (you can, although it's not straightforward), then you can easily pass new arguments to the kernel and make it use a USB thumb drive as its main rootfs. The kernel would still be required to be flashed on the emmc or grabbed through TFTP. You can modify this by binary searching the current script on the emmc, and manually editing it. I will get instructions for this in the future. Using that exploit I mentioned, you can write to the emmc, and thus, modify the script as you please.
Oh I am guessing it is 'TTL' serial? I use the original arduino as a converter.
This is a 3.3V TTL serial, NOT 5V as most arduinos would run of.
From the non opening method you are mentioning it seems like you have one chance to reprogram the native flash and boot, not to mention overwrite the booter?
As long as it's not screwed enough, you can open it and interact with CEFDK via the serial console and "un-brick it" yourself. I mentioned this method because you don't need to open the modem, but requires more skills. If after changing all the stuff you reboot the modem and it doesn't come up, then you need to open it up and connect a serial console to figure out how to fix it. As long as CEFDK boots, you should be fine.
I'd suggest opening it, and connecting a serial console to the board. The pinout is TX, RX, GND, 3v3 (or RX, TX GND, 3v3; you can check with a multimeter). It runs at 115200 bps as most devices.
ok Thanks for the information. Show stoppers 3.3 not 5V ttl serial, avoid overwriting CEFDK.
I also tried to tftp over ethernet which I would hope would start erasing after the CEFDK. The install image itself, I am assuming would have to page-relative or expected to be compiled for a certain address? Maybe in your build? Anyway I could not tftp write to the modem as 192.168.0.1 on boot. It was a long shot. I had an ASUS RT-66U which actally worked that way but you had to be a certain weird host like 192.168.0.240.
It sounds much more compicated to get it working without the serial, but I am not sure I have a true 3.3 one here. Could try some sort of bidirectional level conversion on a breadboard. Actually just a bump down on the way to the router would probably work.
No no, in order to use TFTP on this, you need to start the tftp transaction from the modem itself, manually. It won't start downloading a TFTP image from an external server as some routers do when you put them in recovery mode, NEITHER would let you upload an image to them. TFTP is only implemented as a client on CEFDK, and must be manually run, no default script uses it sadly.
Yes I thought you may have to start up the tftp transaction on the modem. Sounds complicated.
If you get the UART working, the actual stuff you need to run is quite simple. If you get that going, I can share a step by step and provide some binaries you can load
I have to do some stuff around home, but I will see what I an do. I am guessing the same binary you used at a certain offset would be great to have. It sounds like I just have to initiate a y modem upload after the offset of the image.
ok ok. There is this issue that the pins are smaller than the grabber wires I have so I can only be on two of the four consecutively. I just hooked in VCC, TX and RX and I got this, on the 'UART' port
Cat Mountain D0 - Boot Ram.
Version: 0.1.16 (Apr 10 2014, 18:52:35)
Boot Param memory dump:
[0x1FFC] - 0x00010016
[0x1FF8] - 0x00000001
[0x1FF4] - 0x00000001
[0x1FF0] - 0x00000002
[0x1FEC] - 0x00000001
[0x1FE8] - 0x10000000
[0x1FE4] - 0x10000000
[0x1FE0] - 0x0021F000
[0x1FDC] - 0x0023F000
[0x1FD8] - 0x030A0000
[0x1FD4] - 0x00040000
[0x1FD0] - 0x030E0000
[0x1FCC] - 0x030E0000
[0x1FC8] - 0x00020000
[0x1FC4] - 0x00000000
[0x1FC0] - 0x00000000
[0x1FBC] - 0x00000000
[0x1FB8] - 0x00000000
[0x1FB4] - 0x00000000
[0x1FB0] - 0x00000000
[0x1FAC] - 0x00000000
[0x1FA8] - 0x00000000
[0x1FA4] - 0x00000000
[0x1FA0] - 0x00000000
[0x1F9C] - 0x0D0C0908
[0x1F98] - 0x010A0F0E
[0x1F94] - 0x0B050302
[0x1F90] - 0x00000001
[0x1F8C] - 0x0000000C
[0x1F88] - 0x00054C4B
[0x1F84] - 0x00200000
[0x1F80] - 0x00000070
[0x1F7C] - 0x00220000
[0x1F78] - 0x00020000
[0x1F74] - 0x00000020
[0x1F70] - 0x00080800
[0x1F6C] - 0x00010000
[0x1F68] - 0x00090800
[0x1F64] - 0x00009400
[0x1F60] - 0x00099C00
[0x1F5C] - 0x00065400
[0x1F58] - 0x000FF800
[0x1F54] - 0x00000800
[0x1F50] - 0x00100000
[0x1F4C] - 0x00000800
[0x1F48] - 0x000FF000
[0x1F44] - 0x00000800
[0x1F40] - 0x00000001
[0x1F3C] - 0x00000000
[0x1F38] - 0x00000000
[0x1F34] - 0x00000000
[0x1F30] - 0x00000000
[0x1F2C] - 0x00000000
[0x1F28] - 0x00000000
[0x1F24] - 0x00000000
Load U-Boot from eMMC/NAND Flash
eMMC/NAND copy from 0x030A0000 to 0x51FB0000 (len:262144).
Done.
U-Boot 1.2.0-dirty (May 10 2016 - 11:29:11) Cisco-Boot 3.4.22.5
DRAM: 256 MB
*** Warning - Unsupported Flash detected, flash is unusable
Manufacturer ID: 0xFF
Type: 0xFF
Density: 0xFF
Extended ID: {0xFF, 0xFF}
failed to probe Flash (bank 0)
Error: failed to probe Flash
Flash: 0 kB
MMC: sdhci_puma6: 0
MMC info:
Manufacturer ID: 0
OEM ID: 0
Name: MMC128
MMC version 4.4
High Capacity: No
Dual Data Rate (DDR): No
Bus Width: 8-bit
Clock: 50000000
Rd Block Len: 512
Capacity: 112.4 MB (117833728 bytes)
In: serial
Out: serial
Err: serial
Read AID 1
Board-Type: harborpark-mg
AEP: Disable
Boot Device: mmc
ACTIMAGE: 1
Press SPACE to abort autoboot in 2 second(s)
*** ACTIMAGE = 1, will try to boot UBFI1 stored @0x03120000
## Executing script at 03120000
========== Running script (puma6) ver 2.5 =========
*** Running from UBFI1 partition @0x52000000 (eMMC)
Load address ............. 0x312236c
Kernel partition offset .. 0x23bc
kernel size .............. 0x168444
Root FS partition offset . 0x16a800
Root FS size ............. 0x47d000
Additional FS ............ ,0x645c00(FS1)ro
========== Script Done ============================
*** UBFI1 bootscript executed successfully.
Start booting...
## Booting image at 0312236c ...
ARM MBX sending 'eMMC done.' notification...
Image Name: Multi Image File
Image Type: ARM Linux Multi-File Image (uncompressed)
Data Size: 12759124 Bytes = 12.2 MB
Load Address: 00a00000
Entry Point: 00a00000
Contents:
Image 0: 1475652 Bytes = 1.4 MB
Image 1: 4706304 Bytes = 4.5 MB
Image 2: 6577152 Bytes = 6.3 MB
OK
Starting kernel ...
Starting LZMA Uncompression Algorithm.
Compressed file is LZMA format.
[Debug - Kerenl] LZMA Uncompression - Done.
Linux version 2.6.39.3 (root@build7-usg) (gcc version 4.6.4 (Buildroot 2013.08.1-g3298e96) ) #1 PREEMPT Mon Jun 20 16:33:08 EDT 2016
CPU: ARMv6-compatible processor [410fb764] revision 4 (ARMv7), cr=00c538ff
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: puma6
Ignoring unrecognised tag 0x00000000
Memory policy: ECC disabled, Data cache writeback
Reserved 0k DSP memory starting from Physical 0x60000000
Initialized Peripheral Port Remap Register to base : 0x20000000
Puma-6 system_rev = 1505 -- docsis ip rev = 32
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 65024
Kernel command line: root=/dev/mmcblk0p12 rootwait ro nvram=/dev/mmcblk0p10 nvram2=/dev/mmcblk0p11 fs1=/dev/mmcblk0p14 console=ttyS0,115200n8 ethaddr0= usbhostaddr= boardtype=0x00000002 eth0_mdio_phy_addr= ext_switch_reset_gpio= threadirqs
Puma6 boardtype Id 2
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 256MB = 256MB total
Memory: 255312k/255312k available, 6832k reserved, 131072K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0x58800000 - 0x60000000 ( 120 MB)
lowmem : 0x50000000 - 0x58000000 ( 128 MB)
pkmap : 0x4fe00000 - 0x50000000 ( 2 MB)
modules : 0x4f000000 - 0x4fe00000 ( 14 MB)
.init : 0x50018000 - 0x5003a000 ( 136 kB)
.text : 0x5003a000 - 0x50403068 (3877 kB)
.data : 0x50404000 - 0x504254c0 ( 134 kB)
Preemptable hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:150
Interrupt controller revision : 4e822100
CRU 13 is allready in CRU state 3 [ignore operation]
Puma6 Timer0 initialized
console [ttyS0] enabled
Calibrating delay loop... 447.28 BogoMIPS (lpj=2236416)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
hw perfevents: enabled with v6 PMU driver, 3 counters available
NET: Registered protocol family 16
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
PAL_cppi4Init : domain is 0, cfg ptr is 0x50411558
PAL_cppi4Init: CPPI 4.1 API initialized successfully.
avalanche_ppd_init: PP system initialized successfully.
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
HW Mutex: Intel(R) HW MUTEX driver built on Jun 20 2016 @ 16:29:10
HW Mutex: pmaster 0x5782b680 ,irq_num 74, reg_base 0xdffe1800
HW Mutex: driver is running. HW MUTEX Code-Id = 0x1000c936
bio: create slab <bio-0> at 0
i2c-gpio i2c-gpio.1: using pins 45 (SDA) and 44 (SCL)
HIL Core: Profile intrusive has been Loaded.
/proc/bootparams created
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
Initializing Cru Control module
DECT drv initializing
DECT Page drv succeeded in registering character device page_button Major = 253, Minor = 0
DECT Page drv succeeded in registering character device page_button Major = 253, Minor = 0
GPIO Succeeded in registering character device docsis_gpio_dev Major = 252, Minor = 0
/proc/gpio created
IOSFSB Succeeded in registering character device docsis_iosfsb_drv Major = 251, Minor = 0
p_unit_drv_init:1194 Character device p_unit Major = 250, Minor = 0 has been registered
P-UNIT : Enable reset event handling ...
0 = result from request_irq
==============================================================================
P-UNIT : FW version is [ 1.2.0 ]
P-UNIT : FW is backward compatible down to Silicon Stepping [A0]
P-UNIT : Last reset reason = 0x00000000 [ RESET_COLD_BOOT ]
P-UNIT : Last reset origin = 0x00000000 [ RESET_ORIGIN_HW ]
P-UNIT : Reset duration from shadow register = 0.0 Seconds
P-UNIT : Last reset duration = 0.0 Seconds
==============================================================================
highmem bounce pool size: 64 pages
squashfs: version 4.0 (2009/01/31) Phillip Lougher
NTFS driver 2.1.30 [Flags: R/W].
JFFS2 version 2.2. (NAND) � 2001-2006 Red Hat, Inc.
msgmni has been set to 242
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 3 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x70003 (irq = 9) is a TI 16550A
serial8250: ttyS1 at MMIO 0x50003 (irq = 7) is a TI 16550A
serial8250: ttyS2 at MMIO 0x60003 (irq = 8) is a TI 16550A
TI LED driver initialized [major=247]
PUMA6 SPI Controller: Control Reg [0xDFFE0100]: 0x44453401
PUMA6 SPI Controller: Split Reg [0xDFFE0104]: 0x00000008
PUMA6 SPI Controller: Current Address Reg[0xDFFE0108]: 0x00000000
PUMA6 SPI Controller: Addressing mode set to: 3
Serial Flash [Bus:0 CS:0] : No device found
Serial Flash [Bus:0 CS:1] : No device found
PUMA6 SPI Controller driver at 0xdffe0100 bus_num = 0x0
(null): TI Codec SPI Controller driver at 0xd01200c8 (irq = 0)
i2c /dev entries driver
watchdog: TI Avalanche Watchdog Timer: timer margin 35 sec
cpuidle: using governor ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
NP-CPU MBX waits for 'eMMC advance mode ready' notification from APP-CPU ...
receive_specific_event_notification Event=0x4 parameter = 0x30
NP-CPU MBX received 'eMMC advance mode ready' notification from APP-CPU.
mmc0: SDHCI controller on platform [sdhci-puma6.0] using ADMA
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (3989 buckets, 15956 max)
ctnetlink v0.93: registering with nfnetlink.
nf_conntrack_rtsp v0.7 loading
IPVS: Registered protocols ()
IPVS: Connection hash table configured (size=4096, memory=32Kbytes)
IPVS: Creating netns size=744 id=0
IPVS: ipvs loaded.
IPv4 over IPv4 tunneling driver
GRE over IPv4 demultiplexor driver
GRE over IPv4 tunneling driver
nf_nat_rtsp v0.7 loading
ip_tables: (C) 2000-2006 Netfilter Core Team
ipt_CLUSTERIP: ClusterIP Version 0.8 loaded successfully
arp_tables: (C) 2002 David S. Miller
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
ip6_tables: (C) 2000-2006 Netfilter Core Team
NET: Registered protocol family 17
NET: Registered protocol family 15
Bridge firewalling registered
Ebtables v2.0 registered
L2TP core driver, V2.0
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
VFP support v0.3: not present
Waiting for root device /dev/mmcblk0p12...
mmc0: new high speed MMC card at address 0001
mmcblk0: mmc0:0001 MMC128 112 MiB
mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 >
NP-CPU MBX Send notification to APP-CPU - 'Card initialization complete'...
VFS: Mounted root (squashfs filesystem) readonly on device 179:12.
Freeing init memory: 136K
init started: BusyBox v1.19.2 (2016-06-20 16:28:22 EDT)
starting pid 35, tty '/dev/tts/0': '/etc/init.d/rcS > /dev/console 2> /dev/console'
About to initialize PP ...
Initializing ppd driver module
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
avalanche_prefetcher_init(1285):return code 0x00
main(149): hal_pp_fw_download SUCCESS!
Removing ppd driver module
The PP Should be running now ...
/dev/mmcblk0p10: recovering journal
/dev/mmcblk0p10: clean, 71/256 files, 1304/2048 blocks
The device /dev/mmcblk0p10 was scan with fsck.ext3 and the return value is 0
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p10): using internal journal
EXT3-fs (mmcblk0p10): mounted filesystem with ordered data mode
mount -t ext3 /dev/mmcblk0p10 /nvram -o barrier=1
/dev/mmcblk0p11: recovering journal
/dev/mmcblk0p11: clean, 15/256 files, 1091/2048 blocks
The device /dev/mmcblk0p11 was scan with fsck.ext3 and the return value is 0
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p11): using internal journal
EXT3-fs (mmcblk0p11): mounted filesystem with ordered data mode
mount -t ext3 /dev/mmcblk0p11 /nvram2 -o barrier=1
mmcblk: Error sending read/write command
Error
eMMC F/W Auto-Upgrade: /nvram/mmc_settings.cfg not exist.
fss=/dev/mmcblk0p14-FS1
/etc/init.d/rcS: /etc/config: line 1969: CROSS: not found
========================================================
Intel DGWSDK release 4.2.301.84
Build date: Monday, June 20 2016, 17:01:27
Copyright � 2011, Intel Corporation.
========================================================
Duplicate config variable in conditional 8 global/SERVERsocket==wan0:ERROR: syscfg init (-12): server.use-ipv6
1969-12-31 19:00:12: (configfile.c.957) source: /var/lighttpd.conf line: 400 pos: 89 parser failed somehow near here: ssl.engine
pcd: (145): Starting TI Process Control Daemon.
pcd: (145): Loaded 101 rules.
pcd: Initialization complete.
Please press Enter to activate this console. pcd: (147): Starting process /usr/sbin/mocadlfw (Rule PUMA6SYSTEM_MOCA_DLFW).
pcd: (147): Starting process /etc/scripts/l2switch_drvinit.sh (Rule PUMA6SYSTEM_L2SW_INSMODE).
pcd: (147): Starting process echo (Rule PUMA6SYSTEM_FIFO_SCHED_RUNT).
pcd: (147): Starting process echo (Rule PUMA6SYSTEM_DECT_UART_IRQ_P).
pcd: (147): Starting process mknod (Rule PUMA6SYSTEM_CRU_CTRL_MKNOD).
pcd: (147): Starting process /usr/sbin/watchdog_rt (Rule SYSTEM_WATCHDOG).
pcd: (147): Starting process /usr/sbin/logger (Rule SYSTEM_LOGGER).
pcd: (147): Starting process /usr/sbin/gptimer (Rule SYSTEM_GPTIMER).
TI Watchdog-RT daemon started <kick interval = 10 seconds>
pcd: (147): Rule SYSTEM_WATCHDOG: Success (Process /usr/sbin/watchdog_rt (154)).
main:801 (pid=156): Initialized successfully, timer tick 50ms
pcd: (147): Rule SYSTEM_GPTIMER: Success (Process /usr/sbin/gptimer (156)).
pcd: (147): Rule PUMA6SYSTEM_DECT_UART_IRQ_P: Success (Process echo (152)).
pcd: (147): Rule PUMA6SYSTEM_FIFO_SCHED_RUNT: Success (Process echo (151)).
pcd: (147): Rule PUMA6SYSTEM_CRU_CTRL_MKNOD: Success (Process mknod (153)).
L2 Switch driver - installing
L2SW Internal MAC: 00.50.f1.80.00.00
L2SW MAC is 4a.1D.70.AE.BF.3C
main:158> mocadlfw exiting, rc=8590
pcd: (147): Rule PUMA6SYSTEM_MOCA_DLFW: Success (Process /usr/sbin/mocadlfw (149)).
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
PP Operation TI_PPM_PID_CREATED, pid_handle=0 @ l2sd0 device
PAL_cppi4Init : domain is 0, cfg ptr is 0x00000000
PP Operation TI_PPM_PID_CREATED, pid_handle=1 @ l2sm0 device
L2 Switch driver kernel module installed
pcd: (147): Rule PUMA6SYSTEM_L2SW_INSMODE: Success (Process /etc/scripts/l2switch_drvinit.sh (150)).
pcd: (147): Starting process /usr/sbin/l2switchd (Rule PUMA6SYSTEM_L2SWITCH).
GetBootParam:1887 (pid=169): Silicon stepping 12
main:1954 (pid=169): Daemon: Silicon stepping 12
A 3.5/ 5 V capable usb2serial adapter costs a tad over a buck delivered from the slow ship, roughly a fiver if you need next day delivery. It does not make sense to get inventive for that task, that only gives you two moving targets to bother about and just about guarantees that nothing will happen.
I used a esp32 with the en connected to ground to disable the chip. The whatever 3.3V USB to serial converter acted as an inline TTL converter. Same idea as the arduino but 3.3V. Maybe even the arduino USB chip may be 3.3v don't know. Originally I was thinking I had to do a program to send the USB to a UART, but like the arduino, it seems to connect to the MCU by a UART, and the only one in the espressas.
I am using minicom on LInux if that helps with the data sending etc, setup
I also downloaded the cocus git tree and when I made it it does a setup screen and it looks quite involved so I am waiting for more input.
Correct, that log is from the ARM6 core, we're not interested in that one. Please use the other socket for ATOM. Also, don't connect VCC since the modem already has its own power supply, and it might cause problems.
OK here is the other one.
AC_BOOT
POST: 0x100POST: 0x200POST: 0x300POST: 0x400POST: 0x500POST: 0x600POST: 0x700POST: 0x800POST: 0x1ffPOST: 0xb00POST: 0xb01POST: 0xb02POST: 0xb03
wdt: reset type = 0, reset reason = 0
POST: 0xb04POST: 0xb05POST: 0xb1fPOST: 0xc00POST: 0xc01POST: 0xc02
cefdk_rom_base_addr: 0x00280800
POST: 0xc04POST: 0xc05POST: 0xc06POST: 0xc1f
wdt: acboot win2 end, counter=1005306
POST: 0xf00POST: 0xf01POST: 0xf02
Warning: No device found in chip select 0
Spi Flash Init Failed and disable SPI Fl
Intel(R) Consumer Electronics Firmware Development Kit (Intel(R) CEFDK)
Copyright (C) 1999-2012 Intel Corporation. All rights reserved.
Build Time (10/13/14 08:28:14).
POST: 0xf04POST: 0xf05POST: 0xf06POST: 0xf07
Set flash layout to Intel 128MB layout Rev 2
POST: 0xf08POST: 0xf09POST: 0xf0aPOST: 0xf0bPOST: 0xf0cPOST: 0xf0dPOST: 0xf0ePOST: 0xf0fPOST: 0xf10
GPIO_100 pcie_reset low
GPIO_088 pcie_power low - 800ms
GPIO_088 pcie_power high - 300ms
POST: 0xf11POST: 0xf12POST: 0xf13POST: 0xf14POST: 0xf15POST: 0xf16POST: 0xf17POST: 0xf18POST: 0xf19
Waiting for 5 sec for DOCSIS PLL1 ready...
DOCSIS PLL1 ready
POST: 0xf1aPOST: 0xf1bPOST: 0xf1cPOST: 0xf1dPOST: 0xf1ePOST: 0xf1fPOST: 0xf20POST: 0xfa0
SMM: Ok
POST: 0xf21POST: 0xf22POST: 0xf23POST: 0xfe0POST: 0xf24
ACPI Init: finished with table region from 00011ab0 to 00018000
acpi: Created tables at 00011ab0-00018000
POST: 0xf25POST: 0xf26POST: 0xf27POST: 0xf28POST: 0xf29
============== Cisco-Boot 3.4.22.5 ==============
CEFDK Version : CE2600 build (SMP enabled)
Built from SDK : IntelCE-4.5.14421.347211
8051 Firmware : A0-1.2.0 build R 0x20A
8051 FW I/O Module :
Silicon Stepping : D0
Silicon SKU : 0x14F
Board Set As : Harbor Park - MG
CPU Threads : 2
CPU Multiplier : 12
CPU Bus Speed : 100 MHz
Memory Size : 512 MB
Memory Type & Speed : x16 DDR3-1333 (10-10-10)
Trusted Boot : Untrusted
Boot Mode : eMMC-NAND (STRAPS)
Registered net controller: e1000
Init External Switch for board Type: 1
Timing data c003
ESWITCH ID 1721
SWITCH LEDS ALL ON
1000M FD Link is ready!
Configure IP via static IP.
Mac address is : 00:05:04:03:02:01
Host IP address is: 192.168.100.1
Subnet Mask is : 255.255.255.0
Gateway address is: 192.168.100.1
================================================
WARNING:
Please make sure the board type and DOCSIS DDR offset/size are set correctly,
otherwise DOCSIS subsystem won't boot!
If not sure, please use "settings" shell command to show the setup menu,
then check "Advanced Features".
================================================
Press 'Enter' within 2 seconds to disable automatic boot.
Hit a key to start the shell...
SWITCH LEDS ALL OFF
Running auto script...
shell> load -m 0x200000 -i a -t emmc
get Active Image info success:240000, 400000, 1, 1, 3
eMMC kernel command: root=/dev/mmcblk0p3
Load data from emmc
Load done.
shell> bootkernel -b 0x200000 "console=ttyS0,115200 ip=static memmap=exactmap memmap=128K@128K memmap=240M@1M"
Working Cmd: console=ttyS0,115200 ip=static memmap=exactmap memmap=128K@128K memmap=240M@1M root=/dev/mmcblk0p3
CMD(0x48000)='console=ttyS0,115200 ip=static memmap=exactmap memmap=128K@128K memmap=240M@1M root=/dev/mmcblk0p3 '
WARNING: Ancient bootloader, some functionality may be limited!
Initializing cgroup subsys cpuset
Initializing cgroup subsys cpu
Linux version 2.6.39 (root@build7-usg) (gcc version 4.5.1 (IntelCE toolchain-V5 Tue Apr 17 19:34:48 PDT 2012) ) #2 SMP PREEMPT Mon Jun 20 16:40:51 EDT 2016
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 0000000000011ab0 (reserved)
BIOS-e820: 0000000000011ab0 - 0000000000018000 (ACPI data)
BIOS-e820: 0000000000018000 - 0000000000020000 (reserved)
BIOS-e820: 0000000000020000 - 0000000000040000 (usable)
BIOS-e820: 0000000000040000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 0000000007400000 (usable)
BIOS-e820: 0000000007400000 - 0000000008000000 (reserved)
BIOS-e820: 0000000008000000 - 0000000010000000 (usable)
BIOS-e820: 0000000010000000 - 0000000020000000 (reserved)
BIOS-e820: 00000000fec00000 - 00000000fec00400 type 6
BIOS-e820: 00000000fee00000 - 00000000fee00400 type 7
extended physical RAM map:
reserve setup_data: 0000000000000000 - 0000000000011ab0 (reserved)
reserve setup_data: 0000000000011ab0 - 0000000000018000 (ACPI data)
reserve setup_data: 0000000000018000 - 0000000000020000 (reserved)
reserve setup_data: 0000000000020000 - 0000000000040000 (usable)
reserve setup_data: 0000000000040000 - 0000000000100000 (reserved)
reserve setup_data: 0000000000100000 - 0000000007400000 (usable)
reserve setup_data: 0000000007400000 - 0000000008000000 (reserved)
reserve setup_data: 0000000008000000 - 0000000010000000 (usable)
reserve setup_data: 0000000010000000 - 0000000020000000 (reserved)
reserve setup_data: 00000000fec00000 - 00000000fec00400 type 6
reserve setup_data: 00000000fee00000 - 00000000fee00400 type 7
NX (Execute Disable) protection: active
user-defined physical RAM map:
user: 0000000000020000 - 0000000000040000 (usable)
user: 0000000000100000 - 000000000f100000 (usable)
DMI not present or invalid.
last_pfn = 0xf100 max_arch_pfn = 0x1000000
init_memory_mapping: 0000000000000000-000000000f100000
ACPI: RSDP 0009fc00 00024 (v02 INTEL )
ACPI: RSDT 00017fb0 00030 (v01 INTEL 00000000 00000000)
ACPI: FACP 00013b20 000F4 (v03 INTEL 00000000 00000000)
ACPI: DSDT 00013c20 010D4 (v01 Intel CE2600 00000001 INTL 20091112)
ACPI: FACS 00017f70 00040
ACPI: APIC 00011af0 00068 (v01 INTEL 00000000 00000000)
ACPI: HPET 00011ab0 00038 (v01 INTEL 00000000 00000000)
0MB HIGHMEM available.
241MB LOWMEM available.
mapped low ram: 0 - 0f100000
low ram: 0 - 0f100000
Zone PFN ranges:
DMA 0x00000020 -> 0x00001000
Normal 0x00001000 -> 0x0000f100
HighMem empty
Movable zone start PFN for each node
early_node_map[2] active PFN ranges
0: 0x00000020 -> 0x00000040
0: 0x00000100 -> 0x0000f100
Using APIC driver default
ACPI: PM-Timer IO Port: 0x1008
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0])
IOAPIC[0]: apic_id 0, version 32, address 0xfec00000, GSI 0-23
ACPI: IOAPIC (id[0x01] address[0xbffff000] gsi_base[24])
IOAPIC[1]: apic_id 1, version 32, address 0xbffff000, GSI 24-47
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
Using ACPI (MADT) for SMP configuration information
ACPI: HPET id: 0x8086a201 base: 0xfed00000
SMP: Allowing 2 CPUs, 0 hotplug CPUs
Allocating PCI resources starting at f100000 (gap: f100000:f0f00000)
setup_percpu: NR_CPUS:8 nr_cpumask_bits:8 nr_cpu_ids:2 nr_node_ids:1
PERCPU: Embedded 12 pages/cpu @cec00000 s25216 r0 d23936 u1048576
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 60990
Kernel command line: console=ttyS0,115200 ip=static memmap=exactmap memmap=128K@128K memmap=240M@1M root=/dev/mmcblk0p3
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Initializing CPU#0
allocated 986624 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Initializing HighMem for node 0 (00000000:00000000)
Memory: 234684k/246784k available (5300k kernel code, 11204k reserved, 1861k data, 400k init, 0k highmem)
virtual kernel memory layout:
fixmap : 0xfff18000 - 0xfffff000 ( 924 kB)
pkmap : 0xffc00000 - 0xffe00000 (2048 kB)
vmalloc : 0xcf900000 - 0xffbfe000 ( 770 MB)
lowmem : 0xc0000000 - 0xcf100000 ( 241 MB)
.init : 0xc16ff000 - 0xc1763000 ( 400 kB)
.data : 0xc152d19d - 0xc16fe6c0 (1861 kB)
.text : 0xc1000000 - 0xc152d19d (5300 kB)
Checking if this processor honours the WP bit even in supervisor mode...Ok.
SLUB: Genslabs=15, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Preemptable hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:512
Extended CMOS year: 2000
Console: colour dummy device 80x25
console [ttyS0] enabled
Fast TSC calibration using PIT
Detected 1200.047 MHz processor.
Calibrating delay loop (skipped), value calculated using timer frequency.. 2400.09 BogoMIPS (lpj=4800188)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
Initializing cgroup subsys ns
ns_cgroup deprecated: consider using the 'clone_children' flag without the ns_cgroup.
Initializing cgroup subsys cpuacct
Initializing cgroup subsys memory
Initializing cgroup subsys devices
Initializing cgroup subsys freezer
Initializing cgroup subsys blkio
Initializing cgroup subsys perf_event
CPU: Physical Processor ID: 0
CPU: Processor Core ID: 0
mce: CPU supports 5 MCE banks
CPU0: Thermal monitoring enabled (TM1)
using mwait in idle threads.
ACPI: Core revision 20110316
Enabling APIC mode: Flat. Using 2 I/O APICs
..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
CPU0: Intel(R) Atom(TM) CPU 652 @ 1.20GHz stepping 08
Performance Events: PEBS fmt0+, generic architected perfmon, Intel PMU driver.
... version: 3
... bit width: 40
... generic registers: 2
... value mask: 000000ffffffffff
... max period: 000000007fffffff
... fixed-purpose events: 3
... event mask: 0000000700000003
Booting Node 0, Processors #1 Ok.
Initializing CPU#1
Brought up 2 CPUs
Total of 2 processors activated (4800.02 BogoMIPS).
NET: Registered protocol family 16
ACPI: bus type pci registered
PCI: Using configuration type 1 for base access
pcimode=0x0
wifi_hw_check: 2.4ghz radio device id on pci bus 2 = 0x0030168c
wifi_hw_check: 5ghz radio device id on pci bus 3 = 0x003c168c
wifi_hw_check: all wifi radios found. doing nothing.
bio: create slab <bio-0> at 0
ACPI: Interpreter enabled
ACPI: (supports S0 S3 S5)
ACPI: Using IOAPIC for interrupt routing
ACPI: No dock devices found.
PCI: Ignoring host bridge windows from ACPI; if necessary, use "pci=use_crs" and report a bug
ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-fe])
pci 0000:00:01.0: PCI bridge to [bus 01-01] (subtractive decode)
pci 0000:00:1c.0: PCI bridge to [bus 02-02]
pci 0000:00:1c.1: PCI bridge to [bus 03-03]
ACPI: PCI Interrupt Link [LSAT] (IRQs *47)
ACPI: PCI Interrupt Link [LUSB] (IRQs *46)
ACPI: PCI Interrupt Link [LGBE] (IRQs *45)
ACPI: PCI Interrupt Link [LUAR] (IRQs *38)
ACPI: PCI Interrupt Link [LDOS] (IRQs *24)
ACPI: PCI Interrupt Link [LGPA] (IRQs *25)
ACPI: PCI Interrupt Link [LEPU] (IRQs *25)
ACPI: PCI Interrupt Link [LHVE] (IRQs *25)
ACPI: PCI Interrupt Link [LAVC] (IRQs *44)
ACPI: PCI Interrupt Link [LHDR] (IRQs *44)
ACPI: PCI Interrupt Link [LGPB] (IRQs *26)
ACPI: PCI Interrupt Link [LCRS] (IRQs *27)
ACPI: PCI Interrupt Link [LTSP] (IRQs *28)
ACPI: PCI Interrupt Link [LTSD] (IRQs *29)
ACPI: PCI Interrupt Link [LWTG] (IRQs *42)
ACPI: PCI Interrupt Link [LLW0] (IRQs *30)
ACPI: PCI Interrupt Link [LLW1] (IRQs *31)
ACPI: PCI Interrupt Link [LL2W] (IRQs *32)
ACPI: PCI Interrupt Link [LDSD] (IRQs *33)
ACPI: PCI Interrupt Link [LMOC] (IRQs *34)
ACPI: PCI Interrupt Link [LMTX] (IRQs *35)
ACPI: PCI Interrupt Link [LSEC] (IRQs *36)
ACPI: PCI Interrupt Link [LMMC] (IRQs *37)
ACPI: PCI Interrupt Link [LIDL] (IRQs *39)
ACPI: PCI Interrupt Link [LPWM] (IRQs *39)
ACPI: PCI Interrupt Link [LI2C] (IRQs *40)
ACPI: PCI Interrupt Link [LPNT] (IRQs *41)
ACPI: PCI Interrupt Link [LAEP] (IRQs *44)
ACPI: PCI Interrupt Link [LWAN] (IRQs *33)
ACPI: PCI Interrupt Link [LMPD] (IRQs *43)
ACPI: PCI Interrupt Link [LNKA] (IRQs *4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKB] (IRQs *4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKC] (IRQs *4 5 6 7 9 10 11 12 14 15)
ACPI: PCI Interrupt Link [LNKD] (IRQs *4 5 6 7 9 10 11 12 14 15)
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Failed to open iosf device
PCI: Using ACPI for IRQ routing
ACPI: PCI Interrupt Link [LMTX] enabled at IRQ 35
ce-hw-mutex 0000:01:0e.0: PCI INT A -> Link[LMTX] -> GSI 35 (level, high) -> IRQ 35
mem_iobase = 0xdffe1800, mem_iosize = 0x800
pmaster 0xce87ad00 mem_base 0xdffe1800, io_size 0x800,irq_num 35, reg_base 0xcf910800
Intel(R) HW MUTEX driver built on Jun 20 2016 @ 16:39:03
ACPI: PCI Interrupt Link [LDOS] enabled at IRQ 24
mailbox driver 0000:01:1f.0: PCI INT A -> Link[LDOS] -> GSI 24 (edge, high) -> IRQ 24
Intel(R) NPCPU <-> APPCPU Event Mailbox Device Driver built on Jun 20 2016 @ 16:37:38
enable IRQ #24 for device named ce_mailbox
Switching to clocksource hpet
pnp: PnP ACPI init
ACPI: bus type pnp registered
pnp: PnP ACPI: found 2 devices
ACPI: ACPI bus type pnp unregistered
pci 0000:00:01.0: PCI bridge to [bus 01-01]
pci 0000:00:01.0: bridge window [io disabled]
pci 0000:00:01.0: bridge window [mem 0xc0000000-0xdfffffff]
pci 0000:00:01.0: bridge window [mem pref disabled]
pci 0000:00:1c.0: PCI bridge to [bus 02-02]
pci 0000:00:1c.0: bridge window [io 0x9000-0x9fff]
pci 0000:00:1c.0: bridge window [mem 0xbfe00000-0xbfefffff]
pci 0000:00:1c.0: bridge window [mem 0xbfb00000-0xbfbfffff 64bit pref]
pci 0000:00:1c.1: PCI bridge to [bus 03-03]
pci 0000:00:1c.1: bridge window [io 0xa000-0xafff]
pci 0000:00:1c.1: bridge window [mem 0xbfc00000-0xbfdfffff]
pci 0000:00:1c.1: bridge window [mem 0xbfa00000-0xbfafffff 64bit pref]
pci 0000:00:1c.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
pci 0000:00:1c.1: PCI INT B -> GSI 17 (level, low) -> IRQ 17
NET: Registered protocol family 2
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
UDP hash table entries: 128 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 128 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
platform rtc_cmos: registered platform RTC device (no PNP device found)
microcode: CPU0 sig=0x30658, pf=0x40, revision=0x4
microcode: CPU1 sig=0x30658, pf=0x40, revision=0x4
microcode: Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
squashfs: version 4.0 (2009/01/31) Phillip Lougher
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
JFFS2 version 2.2. (NAND) (SUMMARY) � 2001-2006 Red Hat, Inc.
fuse init (API version 7.16)
msgmni has been set to 458
alg: No test for stdrng (krng)
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 38) is a GEN3_serial
serial8250: ttyS1 at I/O 0x2f8 (irq = 38) is a GEN3_serial
ACPI: PCI Interrupt Link [LUAR] enabled at IRQ 38
serial 0000:01:0b.0: PCI INT A -> Link[LUAR] -> GSI 38 (level, high) -> IRQ 38
serial 0000:01:0b.0: PCI INT A disabled
toshiba: not a supported Toshiba laptop
Linux agpgart interface v0.103
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
ACPI: PCI Interrupt Link [LPNT] enabled at IRQ 41
p_unit_access_drv 0000:00:1e.0: PCI INT A -> Link[LPNT] -> GSI 41 (edge, high) -> IRQ 41
SCSI Media Changer driver v0.25
ACPI: PCI Interrupt Link [LSAT] enabled at IRQ 47
ahci 0000:00:0e.0: PCI INT A -> Link[LSAT] -> GSI 47 (level, high) -> IRQ 47
ahci 0000:00:0e.0: forcing PORTS_IMPL to 0x3
ahci: SSS flag set, parallel bus scan disabled
ahci 0000:00:0e.0: AHCI 0001.0300 32 slots 2 ports 3 Gbps 0x3 impl SATA mode
ahci 0000:00:0e.0: flags: 64bit ncq sntf ilck stag pm led clo pmp pio slum part ems apst
scsi0 : ahci
scsi1 : ahci
ata1: SATA max UDMA/133 abar m2048@0xbfffe000 port 0xbfffe100 irq 64
ata2: SATA max UDMA/133 abar m2048@0xbfffe000 port 0xbfffe180 irq 64
physmap platform flash device: 08000000 at c0000000
physmap-flash physmap-flash.0: map_probe failed
Intel(R) SPI FLASH CONTROLLER Driver built on Jun 20 2016 @ 16:38:31
ce5xx-spi-flash 0000:01:17.0: csr iobase 0xdffe0100, iosize 0x100 , mapped to 0xcf91c100
ce5xx-spi-flash 0000:01:17.0: mem iobase 0xd8000000, iosize 0x4000000 , mapped to 0xcfa00000
ce5xx-spi-flash 0000:01:17.0: can't setup spi1.0, status -19
ce5xx-spi-flash 0000:01:17.0: can't create new device for nmyx25
e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
e1000: Copyright (c) 1999-2006 Intel Corporation.
ACPI: PCI Interrupt Link [LGBE] enabled at IRQ 45
e1000 0000:01:0c.0: PCI INT A -> Link[LGBE] -> GSI 45 (level, high) -> IRQ 45
GMUX setting: GMAC0 is connected to internal switch (RGMII0)
GBE working in Internal Fake Phy Mode
e1000 0000:01:0c.0: eth0: (PCI:33MHz:32-bit) 00:05:04:03:02:01
e1000 0000:01:0c.0: eth0: Intel(R) PRO/1000 Network Connection
e1000e: Intel(R) PRO/1000 Network Driver - 1.3.10-k2
e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
udma - Intel (R) UDMA Driver - 1.0.0
udma - Copyright (c) 2012 Intel Corperation.
ACPI: PCI Interrupt Link [LLW0] enabled at IRQ 30
udma 0000:01:00.0: PCI INT A -> Link[LLW0] -> GSI 30 (level, high) -> IRQ 30
Intel(R) UDMA Port 0 Device Driver Init Done
ACPI: PCI Interrupt Link [LLW1] enabled at IRQ 31
udma 0000:01:01.0: PCI INT A -> Link[LLW1] -> GSI 31 (level, high) -> IRQ 31
Intel(R) UDMA Port 1 Device Driver Init Done
eth_udma0: Features changed: 0x00004800 -> 0x00004000
eth_udma1: Features changed: 0x00004800 -> 0x00004000
UDMA Network Device Driver init
ixgbe: Intel(R) 10 Gigabit PCI Express Network Driver - version 3.2.9-k2
ixgbe: Copyright (c) 1999-2011 Intel Corporation.
ixgb: Intel(R) PRO/10GbE Network Driver - version 1.0.135-k2-NAPI
ixgb: Copyright (c) 1999-2008 Intel Corporation.
e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI
e100: Copyright(c) 1999-2006 Intel Corporation
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver cdc_eem
usbcore: registered new interface driver cdc_subset
cdc_ncm: 23-Apr-2011
usbcore: registered new interface driver cdc_ncm
ACPI: PCI Interrupt Link [LL2W] enabled at IRQ 32
uio_ce2600 0000:01:1d.0: PCI INT A -> Link[LL2W] -> GSI 32 (level, high) -> IRQ 32
ACPI: PCI Interrupt Link [LMOC] enabled at IRQ 34
uio_ce2600 0000:01:1e.0: PCI INT A -> Link[LMOC] -> GSI 34 (level, high) -> IRQ 34
usbmon: debugfs is not available
ata1: SATA link down (SStatus 0 SControl 300)
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ACPI: PCI Interrupt Link [LUSB] enabled at IRQ 46
ehci_hcd 0000:01:0d.0: PCI INT A -> Link[LUSB] -> GSI 46 (level, high) -> IRQ 46
ehci_hcd 0000:01:0d.0: EHCI Host Controller
ehci_hcd 0000:01:0d.0: new USB bus registered, assigned bus number 1
ehci_hcd 0000:01:0d.0: irq 46, io mem 0xdf810100
ehci_hcd 0000:01:0d.0: USB 0.0 started, EHCI 1.10
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.39 ehci_hcd
usb usb1: SerialNumber: 0000:01:0d.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
ehci_hcd 0000:01:0d.1: PCI INT A -> Link[LUSB] -> GSI 46 (level, high) -> IRQ 46
ehci_hcd 0000:01:0d.1: EHCI Host Controller
ehci_hcd 0000:01:0d.1: new USB bus registered, assigned bus number 2
ehci_hcd 0000:01:0d.1: irq 46, io mem 0xdf820100
ehci_hcd 0000:01:0d.1: USB 0.0 started, EHCI 1.10
usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb2: Product: EHCI Host Controller
usb usb2: Manufacturer: Linux 2.6.39 ehci_hcd
usb usb2: SerialNumber: 0000:01:0d.1
hub 2-0:1.0: USB hub found
hub 2-0:1.0: 1 port detected
ehci_hcd 0000:01:0d.2: PCI INT A -> Link[LUSB] -> GSI 46 (level, high) -> IRQ 46
ehci_hcd 0000:01:0d.2: EHCI Host Controller
ehci_hcd 0000:01:0d.2: new USB bus registered, assigned bus number 3
ehci_hcd 0000:01:0d.2: irq 46, io mem 0xdf880100
ehci_hcd 0000:01:0d.2: USB 0.0 started, EHCI 1.10
usb usb3: New USB device found, idVendor=1d6b, idProduct=0002
usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb3: Product: EHCI Host Controller
usb usb3: Manufacturer: Linux 2.6.39 ehci_hcd
usb usb3: SerialNumber: 0000:01:0d.2
hub 3-0:1.0: USB hub found
hub 3-0:1.0: 1 port detected
ata2: SATA link down (SStatus 0 SControl 300)
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
usbcore: registered new interface driver usblp
usbcore: registered new interface driver cdc_wdm
Refined TSC clocksource calibration: 1199.999 MHz.
Switching to clocksource tsc
usbcore: registered new interface driver usbtmc
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver
i8042: PNP: No PS/2 controller found. Probing ports directly.
i8042: No controller found
mousedev: PS/2 mouse device common for all mice
rtc_cmos rtc_cmos: RTC can wake from S4
rtc_cmos rtc_cmos: rtc core: registered rtc_cmos as rtc0
rtc0: alarms up to one month, y3k, 114 bytes nvram, hpet irqs
cpuidle: using governor ladder
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pci 0000:01:1b.0: SDHCI controller found [8086:070b] (rev 4)
ACPI: PCI Interrupt Link [LMMC] enabled at IRQ 37
sdhci-pci 0000:01:1b.0: PCI INT A -> Link[LMMC] -> GSI 37 (level, high) -> IRQ 37
waiting for eMMC legacy mode exit notification from NPCPU ... ...
npcpu_appcpu_mbx_send_ack- Writing ack Mask = 0x4 for event = 0x4
mmc0: SDHCI controller on PCI [0000:01:1b.0] using ADMA
waiting for eMMC advanced mode exit notification from NPCPU ... ...
mmc0: new high speed MMC card at address 0001
mmcblk0: mmc0:0001 MMC128 112 MiB
mmcblk0: detected capacity change from 0 to 117833728
mmcblk0: p1 p2 p3 p4 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 >
npcpu_appcpu_mbx_send_notification event id 4, 0x4
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using NMI interrupt.
TCP cubic registered
Initializing XFRM netlink socket
NET: Registered protocol family 10
Mobile IPv6
IPv6 over IPv4 tunneling driver
sit0: Features changed: 0x00007800 -> 0x00007000
ip6tnl0: Features changed: 0x00006800 -> 0x00006000
NET: Registered protocol family 17
NET: Registered protocol family 15
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
sctp: Hash tables configured (established 8192 bind 8192)
lib80211: common routines for IEEE802.11 drivers
Registering the dns_resolver key type
Using IPI No-Shortcut mode
rtc_cmos rtc_cmos: setting system clock to 2000-01-01 00:00:12 UTC (946684812)
ADDRCONF(NETDEV_UP): eth0: link is not ready
8021q: adding VLAN 0 to HW filter on device eth0
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP-Config: Guessing netmask 255.255.0.0
IP-Config: Complete:
device=eth0, addr=133.0.0.0, mask=255.255.0.0, gw=255.255.255.255,
host=133.0.0.0, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
VFS: Mounted root (squashfs filesystem) readonly on device 179:3.
Freeing unused kernel memory: 400k freed
starting pid 796, tty '': '/etc/init.d/rcS'
##### Starting Scripts #####
*** /etc/rc3.d/avcap_si not found, skipping
*** /etc/rc3.d/avcap_core not found, skipping
*** /etc/rc3.d/alsa not found, skipping
*** /etc/rc3.d/smd not found, skipping
*** /etc/rc3.d/avcap_ce4X00 not found, skipping
*** /etc/rc3.d/alsa_shim not found, skipping
*** /etc/rc3.d/dhsauto_init not found, skipping
*** /etc/rc3.d/avcap_rx_ce not found, skipping
*** /etc/rc3.d/graphics not found, skipping
*** /etc/rc3.d/gentimer not found, skipping
*** /etc/rc3.d/display not found, skipping
*** /etc/rc3.d/directfb not found, skipping
*** /etc/rc3.d/graphics_2d not found, skipping
*** /etc/rc3.d/edl not found, skipping
*** /etc/rc3.d/hdmi not found, skipping
### Start system_setup
*** /etc/rc3.d/expbus not found, skipping
*** /etc/rc3.d/smd_core not found, skipping
*** /etc/rc3.d/init_pic_uart not found, skipping
*** /etc/rc3.d/libvirt not found, skipping
*** /etc/rc3.d/mspod not found, skipping
*** /etc/rc3.d/qemu_kvm not found, skipping
*** /etc/rc3.d/wifi not found, skipping
*** /etc/rc3.d/sec_fw_2000 not found, skipping
*** /etc/rc3.d/sec_fw_1100 not found, skipping
*** /etc/rc3.d/sec_fw_3040 not found, skipping
*** /etc/rc3.d/sec_fw_3030 not found, skipping
*** /etc/rc3.d/sec_fw_hdcp2 not found, skipping
*** /etc/rc3.d/smd_avcap_shim not found, skipping
*** /etc/rc3.d/sec_fw_mediavault not found, skipping
*** /etc/rc3.d/sec_fw_playready2 not found, skipping
system_setup SUCCESS
### Start /etc/rc3.d/udev
### Start /etc/rc3.d/pal
PAL driver init...
Device: CE2600
Stepping: D0
pal SUCCESS
### Start /etc/rc3.d/platform_config
platform_config init complete! (build Jun 20 2016)
/* LOAD "/etc/platform_config/ce2600/memory_layout.hcfg" to (new) database location "platform.memory.layout"*/
MEU is disabled.
PMRs are disabled.
/* EXECUTE config database location "platform.startup"*/
udev SUCCESS
### Start /etc/rc3.d/cosai
### Start /etc/rc3.d/dhcpv6
platform_config SUCCESS
### Start /etc/rc3.d/kernel
dhcpv6 SUCCESS
kernel SUCCESS
### Start /etc/rc3.d/devmem
cosai SUCCESS
devmem list is sorted and considated as:
base: 0x0f000000 size: 0x00b80000 access: 0x00000001
base: 0x0fb80000 size: 0x00030000 access: 0x00000000
base: 0x0fbb0000 size: 0x00002000 access: 0x00000001
devmem load sucessfully. major num is 249.
devmem SUCCESS
### Start /etc/rc3.d/osal
ESS OSAL release - Built on Jun 20 2016 at 16:55:11.
osal SUCCESS
-------------------------------------------------------------------------
N O T I C E :
Could not find the script associated with the '/etc/rc3.d/flashtool' init script.
This is likely because the component providing this script was disabled
during your build. If you did not disable this component manually please
contact the component owner to correct this issue.
-------------------------------------------------------------------------
flashtool SUCCESS
### Start /etc/rc3.d/gpio
### Start /etc/rc3.d/system_utils
### Start /etc/rc3.d/thermal
ln: /lib/libidl_gpio.so: File exists
### Start /etc/rc3.d/sven
### Start /etc/rc3.d/nvram
SVEN init:Jun 20 2016 16:55:33
sven_open_header(): 328: SVEN Header Initialized d3b82000@0fbb0000:00001000, circbuf d3a80000@0f100000:00100000 dis:ffffffff
thermal init complete! (build Jun 20 2016)
system_utils SUCCESSmajor number =248
sven_init_dfx_support(): 302: SVEN DFX Enabled @df8f0000:00010000 wpos:0
CE2600 GPIO controller found currently!
ACPI: PCI Interrupt Link [LIDL] enabled at IRQ 39
### Start /etc/rc3.d/init_watchdog
sven SUCCESS
### Start /etc/rc3.d/init_iosf
gpio_pci_driver 0000:01:0b.1: PCI INT B -> Link[LIDL] -> GSI 39 (level, high) -> IRQ 39
thermal SUCCESS
intelce watchdog: Intel CE2600 WatchDog Timer Driver v0.1
ACPI: PCI Interrupt Link [LWTG] enabled at IRQ 42
intelce watchdog 0000:01:0f.0: PCI INT A -> Link[LWTG] -> GSI 42 (level, high) -> IRQ 42
gpio SUCCESS
intelce watchdog: initialized (0xd3b9a400). heartbeat=30 sec (nowayout=0)
init_watchdog SUCCESS
init_iosf SUCCESS
Atom Watchdog daemon started <kick interval = 10 seconds>
### Start /etc/rc3.d/idl
### Start /etc/rc3.d/init_punit_fw_upgrade
CE2600 Smartcard Controller found currently!
scard_pci_driver 0000:01:0b.3: PCI INT B -> Link[LIDL] -> GSI 39 (level, high) -> IRQ 39
i2c /dev entries driver
/dev/mmcblk0p6: recovering journal
Running firmware is the latest one.
init_punit_fw_upgrade SUCCESS
idl SUCCESS
### Start /etc/rc3.d/clock_control
clock_control SUCCESS
### Start /etc/rc3.d/intel_ce_pm
intel_ce_pm SUCCESS
/dev/mmcblk0p6: clean, 28/256 files, 1117/2048 blocks
### Start /etc/rc3.d/sec
The partition mmcblk0p6 was scan with fsck and the return value is 0
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p6): using internal journal
EXT3-fs (mmcblk0p6): mounted filesystem with journal data mode
nvram SUCCESS
### Start /etc/rc3.d/rpc_ifconfig_init
### Start /etc/rc3.d/telnetd
dma_tracker_init: initialized
ACPI: PCI Interrupt Link [LSEC] enabled at IRQ 36
pci 0000:01:09.0: PCI INT A -> Link[LSEC] -> GSI 36 (level, high) -> IRQ 36
/etc/rc3.d/telnetd: is being skipped. Precluded by DOCSIS complsec_hal_set_irq: os_pci_get_interrupt returned SEC IRQ=36
iance.
telnetd SUCCESS
sec_hal_set_irq: os_acquire_interrupt installed the SEC
interrupt handler, sec_hal_intr_func, to IRQ number=36
pmr_count=0 and enable_tdp = 0
rpc_ifconfig:main ***g_cw_enabled=0
Waiting for RPC-IF mailbox event from NP-CPU...
SEC ROM Version 0x05030106
sec SUCCESS
### Start /etc/rc3.d/runtime_pm
runtime_pm SUCCESS
Flashing is dangerous and I don't really know what I am doing. What may be the case is the shell allows writing to dram from ymodem and then booting from a dram address? Then in openwrt, it hopefully could access the memblk and do a sysupdate to it with the squashfs? from sector 0? Without a way back in, it is dangerous. That would overwrite the usual booter?
Maybe boot bzimage as kernel with root on usb squashfs and then sysupgrade with squashfs?
****ok back later
It looks like it was complaining about unused labels and variables, so my solution was to just comment them out of the source and then it compiled for what it is worth. unmap p struct c and board. I could not figure out how to change the compiler flags globally.
well, that's excellent you were able to build it!
I don't know if you enabled the PACKAGE_cfdisk
package, but you definitely need it because we'll repartition the eMMC! Enable it and re-build before continuing.
I will share my own binaries just in case, but what you need to do is the following.
Once the modem starts booting, you'll see CEFDK asking you to press "enter" to stop auto-boot. Just press enter until you're on that shell (where you ran lspci).
On there, you have two options. The foolproof would be to flash the kernel at the very end of the emmc where there's NO partitions and thus unused space.
The second option is to load the kernel through TFTP (which would require a TFTP on your machine, and CEFDK is really picky about which one works or not).
For now, I'll explain the second case because it's "straightforward".
- Install any TFTP server. I suggest doing this on windows because the TFTPd used on ubuntu needs a lot of config to make it work.
- Run the following commands to set a fixed IP (assuming your network is 192.168.100.0/24, I'll set the modem ip to 192.168.100.39, gateway 192.168.100.1):
cpc set ipmode 1
cpc set gmux 1
ip set 192.168.100.39 255.255.255.0 192.168.100.1
- Disable the ARM core completely and reclaim the additional 256MB of ram to the ATOM core:
cpc set boottype 1
cpc set docddroff 0x1fffffff
cpc set docddrsize 0x1
- Nuke the auto start script and set the new one (which we will NOT use now, but later). After writing
script on
, copy 3 or 4 lines at a time because CEFDK's buffer is HORRIBLE.
script on
gpio set 51 1
gpio set 69 1
gpio set 98 1
gpio set 116 1
gpio set 51 0
gpio set 69 0
load -m 0x100000 -s 0x240000 -l 0x710000 -t emmc
gpio set 98 0
bootkernel -b 0x100000 "earlyprintk=intelce console=uart,mmio32,0xdffe0200 pci=nocrs root=/dev/mmcblk0p3 rootwait e1000.register_mv88e6172=0"
- Reset so it takes the new settings by issuing
reset
, then press enter again to drop back to the shell. - Now, we'll get the kernel from your tftp server. In my case, the tftp server is at 192.168.100.8, and the image is
bzImage
(should be theopenwrt-x86-intelce-intelce-kernel.bin
). Run the following:
tftp get 192.168.100.8 0x100000 bzImage
- Copy the entire ext4 image (NOT THE gzipped image, but the uncompressed one) to a thumbdrive's partition (assuming it's /dev/sdb1):
7-1.
$ sudo dd if=openwrt-x86-intelce-intelce-ext4-rootfs.img of=/dev/sdb1
7-2. Let's also copy the squashfs image and the kernel image on the thumb drive for later use:
$ sudo mkdir /tmp/thumb
$ sudo mount /dev/sdb1 /tmp/thumb
$ sudo cp openwrt-x86-intelce-intelce-squashfs-rootfs.img /tmp/thumb
$ sudo cp openwrt-x86-intelce-intelce-kernel.bin /tmp/thumb
$ sudo sync
$ sudo umount /tmp/thumb
- Plug the thumbdrive back on the modem's USB, and run the following command to launch the kernel and tell it the rootfs is on the usb:
bootkernel -b 0x100000 "earlyprintk=intelce console=uart,mmio32,0xdffe0200 pci=nocrs root=/dev/sda1 rootwait e1000.register_mv88e6172=0"
- Wait until the kernel boots. You should see something like
[ 24.155408] e1000 0000:01:0c.0 eth0: entered allmulticast mode
[ 24.161644] e1000 0000:01:0c.0 eth0: entered promiscuous mode
[ 24.167501] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 24.180824] br-lan: port 1(eth0) entered blocking state
[ 24.186108] br-lan: port 1(eth0) entered forwarding state
[ 26.631780] S80ucitrack (2267) used greatest stack depth: 5136 bytes left
Press any key and you should drop to the OpenWRT shell.
11. Now, let's create a backup of the entire emmc, run the following:
# mount -o remounut,rw /
# dd if=/dev/mmcblk0 of=/backup.img bs=10M
- Let's copy the config partition to an image file, because we'll use this one as our "config partition" where OpenWRT stores its config in between updates, and where the 5GHz wifi calibration data is stored:
# dd if=/dev/mmcblk0p6 of=/config.img
- Let's repartition the emmc (be careful here):
# cfdisk /dev/mmcblk0
13-1. Navigate to the last partition, and select [ Delete ]
. Repeat until you only have /dev/mmcblk0p1
. DON'T DELETE THAT ONE.
13-2. Select /dev/mmcblk0p1
and select the [ Resize ]
option. Make it 8M
.
13-3. Select the Free space
AT THE END (not at the beginning of the list!) and hit [ New ]
. Make it 6M
.
13-4. Select the Free space
AT THE END (not at the beginning of the list!) and hit [ New ]
, don't change the "New size" (so it uses all available space).
13-5. Select [ Write ]
and quit. At this time, you should have the new partition scheme.
14. Let's copy the kernel, "config partition" and rootfs back to the emmc from the thumbdrive:
# dd if=/openwrt-x86-intelce-intelce-kernel.bin of=/dev/mmcblk0p1
# dd if=/config.img of=/dev/mmcblk0p2
# dd if=/openwrt-x86-intelce-intelce-squashfs-rootfs.img of=/dev/mmcblk0p3
- Now it's time to see if everything worked. Issue a
reboot
and pray to whichever god you like that it boots.
NOTE: Once it boots, it'll take OpenWRT default's config for network, which means it'll act as the DHCP router. Since I don't plan to use this modem as a default router, I modify the network file so it's actually a DHCP client and restart the network service.
NOTE2: The argument e1000.register_mv88e6172=0
set on the cmdline actually disables the DSA feature of the switch, i.e. you only see eth0
and the switch behaves as a dumb switch. If you skip that config or set it as 1, the Marvell switch will be registered as a DSA switch, and you'll get lan0-lan4 (as you'll expect for a DSA switch, each port shows up as a virtual interface). I don't enable that by default because the performance is atrocious.
Let me know how it goes!
Thanks for the information. I am going to do exactly what you are saying, but I did have this other idea that I will mention. What happened is I used the default configuration of the build except I selected target x86 intelce. I am not quite sure of what I need. Is that fdisk? Also I am a bit confused where to find it.
What I was going to do was reading your posts, use ymodem to load kernel.bin with argument root=/dev/sda1 where I put a ext4 thumbdrive in the system with filesystem.tar.gz and the image files as well. What I was going to do was use sysupgrade (squashfile.bin) but you are saying certain files need to be copied into certain partitions it seems. I am going to follow your instructions, but just passing it by you.
my filesystem has this: ./usr/sbin/cfdisk am I ok?
Does opkg still install all the packages of intelce post install? I wanted to add smartphone stuff.