<div dir="ltr"><div>Hello,</div><div>I was playing with LTE modem R11e-4G based on ALT3800-B0 chipset.</div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">I was amazed when I got a U-Boot console after command at+cfun=1,1 and sending several random characters. <span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">I assume it's not news for seasoned wolves who hunt here.</span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">As a modem rookie I did not find a relevant link to this topic during Google's fast search.</span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">My questions.</span><br><span title="" class="gmail-">Is this behavior generally known?</span><br><span title="">Can this be a one-piece property (I have only one piece)?</span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">Could it be useful for interesting research?</span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">Is there anyone who cares about it?</span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">I will try to extract parts of the memory using U-boot.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">Below you find pieces of the listing.</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">Best,</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">Elias<br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"># help<br>help<br>?       - alias for 'help'<br>base    - print or set address offset<br>bdinfo  - print Board Info structure<br>boot    - boot default, i.e., run 'bootcmd'<br>bootd   - boot default, i.e., run 'bootcmd'<br>bootelf - Boot from an ELF image in memory<br>bootfw  - Load and boot FW from ELF image in memory<br>bootm   - boot application image from memory<br>bootp   - boot image via network using BOOTP/TFTP protocol<br>bootvx  - Boot vxWorks from an ELF image<br>chpart  - change active partition<br>clocks  - print clock configuration<br>cmp     - memory compare<br>coninfo - print console devices and information<br>cp      - memory copy<br>crc32   - checksum calculation<br>create_bdinfo- Create Board info<br>dhcp    - boot image via network using DHCP/TFTP protocol<br>dip     - show the Boot mode configuration options<br>echo    - echo args to console<br>editenv - edit environment variable<br>env     - environment handling commands<br>exit    - exit script<br>false   - do nothing, unsuccessfully<br>fdt     - flattened device tree utility commands<br>fsinfo  - print information about filesystems<br>fsload  - load binary file from a filesystem image<br>fsloadbsp- load bsp binary files from a filesystem image<br>fstest  - testing filesystems<br>go      - start application at address '[*]addr' (possibly be indirect address)<br>gpio    - input/set/clear/toggle gpio pins<br>help    - print command description/usage<br>i2c     - I2C sub-system<br>iminfo  - print header information for application image<br>imxtract- extract a part of a multi-image<br>initfw  - Init FW PLLs<br>itest   - return true/false on integer compare<br>kermit_stat- Show statistics of the last Kermit session<br>kermit_stat_print- print kermit statistics at the end of session<br>loadb   - load binary file over serial line (kermit mode)<br>loads   - load S-Record file over serial line<br>loady   - load binary file over serial line (ymodem mode)<br>loop    - infinite loop on address range<br>loopw   - infinite write loop on address range<br>ls      - list files in a directory (default /)<br>md      - memory display<br>md5sum  - compute MD5 message digest<br>mdc     - memory display cyclic<br>mii     - MII utility commands<br>mm      - memory modify (auto-incrementing address)<br>mtdparts- define flash/nand partitions<br>mtest   - simple RAM read/write test<br>mw      - memory write (fill)<br>mwc     - memory write cyclic<br>nand    - NAND sub-system<br>nandotp - NAND OTP sub-system<br>nboot   - boot from NAND device<br>nfs     - boot image via network using NFS protocol<br>nm      - memory modify (constant address)<br>ping    - send ICMP ECHO_REQUEST to network host<br>printenv- print environment variables<br>rarpboot- boot image via network using RARP/TFTP protocol<br>reginfo - print register information<br>reset   - Perform RESET of the CPU<br>reset_cause- print reset cause<br>run     - run commands in an environment variable<br>saveenv - save environment variables to persistent storage<br>setenv  - set environment variables<br>show_bdinfo- Show board info<br>showvar - print local hushshell variables<br>sleep   - delay execution for some time<br>source  - run script from memory<br>test    - minimal test like /bin/sh<br>tftpboot- boot image via network using TFTP protocol<br>true    - do nothing, successfully<br>unlzo   - decopress a lzo memory region<br>unzip   - unzip a memory region<br>version - print monitor, compiler and linker version</span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><br></span></span></span></span></span></span></span></span></span></span></span></span></span></span></div><div><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title=""><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-"><span class="gmail-tlid-translation gmail-translation" lang="en"><span title="" class="gmail-">U-Boot 2012.10 (Aug 09 2018 - 10:17:38)<br>mips-fourgee3100-linux-uclibc-gcc (0.1) 4.5.3<br>GNU ld (GNU Binutils) 2.21<br><br>#<br>baudrate=115200<br>boot_default=run flash_boot<br>boot_nand_mtd=run
 nand_choose_rootfs; run flash_set_bootargs; nboot kernel${boot_number};
 nand read ${dtb_addr} dtb${boot_number} ${dtb_size}; bootm ${loadaddr} -
 ${dtb_addr}<br>boot_nand_ramfs=run ram_set_bootargs; nboot kernel${boot_number}; bootm<br>boot_number=2<br>boot_option=boot_default<br>boot_tftp_ramfs=run ram_set_bootargs; ${tftpbootcmd} vmlinux.uboot; bootm ${loadaddr}<br>bootcmd=if itest.b 0 == *a00d001b; then run ${boot_option}; else echo 'GUESS MODE - NO BOOT ALLOWED !!!'; fi<br>bootdelay=6<br>bootm_low=0x82100000<br>bootm_size=0x6000000<br>cdc_connect_timeout=10<br>consoledev=ttyS0<br>dtb_addr=0x84000000<br>dtb_file=alt3802.dtb<br>dtb_size=0x4000<br>env_check=if test ${env_saved} = 0; then setenv env_saved 1; saveenv; fi<br>env_configured_size=0x4000<br>env_saved=1<br>erase_env_nand=nand erase.part env; nand erase.part backup_env<br>eth_phy_mode=rmii<br>ethact=usb_ether<br>ethaddr=00:E0:0C:00:11:A0<br>fastboot=setenv
 loadaddr ${fastboot_loadaddr};run loadfw; if test $? -eq 0; then bootfw
 ${unziped_fwaddr} 1; fi; run loadotp; if run loadbsp;then run 
process_fw; fi;<br>fastboot_loadaddr=0x82800000<br>fdt_high=0x83000000<br>fdtdbg=no<br>flash_boot=run
 nand_choose_rootfs; run flash_set_bootargs; run fastboot; nboot 
kernel${boot_number}; nand read ${dtb_addr} dtb${boot_number} 
${dtb_size}; bootm ${loadaddr} - ${dtb_addr}<br>flash_set_bootargs=setenv
 bootargs $ip root=${root} rw rootfstype=jffs2 
console=$consoledev,$kernel_baudrate $othbootargs $kernellog<br>gatewayip=0.0.0.0<br>hostname=alt3800<br>initrd_high=0x83000000<br>ipaddr=10.0.0.1<br>kernel_baudrate=115200<br>kernel_file=uImage<br>kernellog=quiet<br>load_fw=run load_phy_fw; run load_lte_fw<br>load_lte_fw=${tftpbootcmd} $lte_fw; setenv fw_type LTE; bootelf<br>load_phy_fw=${tftpbootcmd} $phy_fw; setenv fw_type PHY; bootelf<br>loadaddr=0x80100000<br>loadbsp=chpart nvm; fsloadbsp 1 ${ramFilesShAddr} band_list bandbp file_list bspfilesbp<br>loadfw= nand read.jffs2 ${loadaddr} modem_fw${boot_number}; unlzo ${loadaddr} ${unziped_fwaddr};<br>loadotp=nandotp read ${ramOtpShAddr} spl 20<br>lte_fw=PS100_RealPHY.elf<br>mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),3m(kernel1),256k(dtb1),37m(rootfs1),3m(kernel2),256k(dtb2),37m(rootfs2),4m(modem_fw1),4m(modem_fw2),-(tstorage)<br>nand128_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),3m(kernel1),256k(dtb1),37m(rootfs1),3m(kernel2),256k(dtb2),37m(rootfs2),4m(modem_fw1),4m(modem_fw2),-(tstorage)<br>nand128_scheme2_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),4m(kernel1),256k(dtb1),53m(rootfs1),4m(kernel2),256k(dtb2),53m(rootfs2),4m(modem_fw1),4m(modem_fw2)<br>nand256_mtdparts=mtdparts=alt3800_nfc:512k(spl),768k(uboot1),768k(uboot2),256k(env),256k(backup_env),3m(nvm),4m(kernel1),256k(dtb1),40m(rootfs1),4m(kernel2),256k(dtb2),40m(rootfs2),4m(modem_fw1),4m(modem_fw2),10m(ua),-(tstorage)<br>nand_choose_rootfs=if test 1 = ${boot_number}; then setenv root /dev/mtdblock8;else setenv root /dev/mtdblock11; fi<br>nand_erasesize=20000<br>nand_oobsize=40<br>nand_uboot_file=u-boot.bin<br>nand_uboot_spl_file=u-boot-spl.bin.alt3800<br>nand_writesize=800<br>nc=run nchelp; setenv stdin nc;setenv stdout nc;setenv stderr nc<br>nchelp=echo On the host side run the script: ./netconsole $ipaddr $ncinport<br>ncinport=6665<br>ncip=10.0.0.10<br>ncmux=run nchelp; setenv stdout ${stdout},nc; setenv stdin ${stdin},nc; setenv stderr ${stderr},nc<br>ncoutport=6665<br>netdev=eth0<br>netmask=255.255.0.0<br>nvm_file=nvm.jffs2.img<br>phy_dbgstreamer=0<br>phy_fw=Lte.out<br>phy_sniffer=0<br>preboot=run env_check; if test -n $prebootcmd; then echo; echo Running pre-boot command; run prebootcmd;fi;<br>process_fw=initfw; bootfw ${unziped_fwaddr} 0<br>ramFilesShAddr=0xA030004c<br>ramOtpShAddr=0xA0300000<br>ram_set_bootargs=setenv bootargs $ip root=/dev/ram rw console=$consoledev,$kernel_baudrate $othbootargs $kernellog<br>rootfs_file=rootfs.jffs2.img<br>ser=setenv stdin serial;setenv stdout serial;setenv stderr serial<br>serverip=10.0.0.10<br>set_ip=setenv ip ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off<br>stderr=serial,usbtty<br>stdin=serial,usbtty<br>stdout=serial,usbtty<br>testdramaddress=no<br>testdramcache=yes<br>testdramcount=1<br>testdramdata=no<br>testdramsize=0x08000000<br>testdramstart=0x80100000<br>testdramwalk=no<br>tftpbootcmd=tftpboot<br>toggle_boot_number=if test 1 = ${boot_number}; then set boot_number 2; else set boot_number 1; fi; saveenv<br>unziped_fwaddr=0x83000000<br>update_all=run update_all_nand<br>update_all_nand=run update_kernel_nand update_dtb_nand update_rootfs_nand<br>update_dtb=run update_dtb_nand<br>update_dtb_nand=if
 ${tftpbootcmd} ${dtb_file}; then nand erase.part dtb${boot_number}; 
nand write ${loadaddr} dtb${boot_number} ${filesize}; fi<br>update_kernel=run update_kernel_nand<br>update_kernel_nand=if
 ${tftpbootcmd} ${kernel_file}; then nand erase.part 
kernel${boot_number}; nand write ${loadaddr} kernel${boot_number} 
${filesize}; fi<br>update_linux=${tftpbootcmd} uImage<br>update_multi_img=run update_multi_img_nand<br>update_multi_img_nand=setenv kernel_file vmlinux.uboot; run update_kernel_nand<br>update_nvm=run update_nvm_nand<br>update_nvm_nand=if ${tftpbootcmd} ${nvm_file}; then  nand erase.part nvm; nand write ${loadaddr} nvm ${filesize}; fi<br>update_ramdisk=${tftpbootcmd} $ramdiskaddr ramdisk.gz.uboot<br>update_rootfs=run update_rootfs_nand<br>update_rootfs_nand=if
 ${tftpbootcmd} ${rootfs_file}; then nand erase.part 
rootfs${boot_number}; nand write ${loadaddr} rootfs${boot_number} 
${filesize}; fi<br>update_uboot=run update_uboot_nand<br>update_uboot_nand=run update_uboot_nand_spl update_uboot_nand_non_spl erase_env_nand<br>update_uboot_nand_non_spl=if
 ${tftpbootcmd} ${nand_uboot_file}; then nand erase.part uboot1; nand 
write ${loadaddr} uboot1 ${filesize}; nand erase.part uboot2; nand write
 ${loadaddr} uboot2 ${filesize}; fi<br>update_uboot_nand_spl=if 
${tftpbootcmd} ${nand_uboot_spl_file}; then nand erase.part spl; nand 
write ${loadaddr} spl ${filesize}; fi<br>usbphymode=0<br>usbtty=cdc_acm<br>ver=U-Boot 2012.10 (Aug 09 2018 - 10:17:38)<br><br>Environment size: 6184/16379 bytes<br><br>mtdparts<br><br>device nand0 <alt3800_nfc>, # parts = 15<br> #: name    size    offset    mask_flags<br> 0: spl                 0x00080000  0x00000000  0<br> 1: uboot1              0x000c0000  0x00080000  0<br> 2: uboot2              0x000c0000  0x00140000  0<br> 3: env                 0x00040000  0x00200000  0<br> 4: backup_env          0x00040000  0x00240000  0<br> 5: nvm                 0x00300000  0x00280000  0<br> 6: kernel1             0x00300000  0x00580000  0<br> 7: dtb1                0x00040000  0x00880000  0<br> 8: rootfs1             0x02500000  0x008c0000  0<br> 9: kernel2             0x00300000  0x02dc0000  0<br>10: dtb2                0x00040000  0x030c0000  0<br>11: rootfs2             0x02500000  0x03100000  0<br>12: modem_fw1           0x00400000  0x05600000  0<br>13: modem_fw2           0x00400000  0x05a00000  0<br>14: tstorage            0x02200000  0x05e00000  0<br><br>active partition: nand0,0 - (spl) 0x00080000 @ 0x00000000<br><br>defaults:<br>mtdids  : nand0=alt3800_nfc<br>mtdparts: uninitialized<br></span></span></span></span></span></span></span></span></span></span></span></span></div></div>