OpenWRT is so awesome and I can't explain how I'm happy that this project exists. I'd like to say thanks for all people who contributed to this project and who helped make it happen.
I’ve been looking to buy security cameras and tried a few different brands, but most weren’t great. I wish there was something like OpenWRT for IP cameras. The chips in modern cameras are pretty good and could maybe be flashed with custom firmware for more features. Has anyone seen any projects like OpenWRT for IP Cameras?
I tried to contact Annke to ask if they can provide sources for the firmware but these as*holes do not want to share. So avoid buying Annke products.
When I was able to SSH into the camera the command list is limited. Here's dmesg not the full output
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 4.9.129 (root@CI-Frontend-Slave-71-147) (gcc version 6.5.0 (arm_multilib_uclibc_20200924) ) #1 Wed Nov 23 14:31:31 CST 2022
[ 0.000000] CPU: ARMv7 Processor revision 5
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: FH8656
[ 0.000000] Ignoring unrecognised tag 0x41000601
[ 0.000000] Malformed early option 'dbg'
[ 0.000000] Malformed early option 'dbg'
[ 0.000000] Memory policy: Data cache writeback
[ 0.000000] On node 0 totalpages: 17152
[ 0.000000] free_area_init_node: node 0, pgdat c061b428, node_mem_map c4271000
[ 0.000000] Normal zone: 134 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 17152 pages, LIFO batch:3
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[ 0.000000] pcpu-alloc: [0] 0
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 17018
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/ram0 KRN_PRT=pri mdio_intf=<NULL> phy_addr=<NULL> mac=bc:5e:33:86:ee:59 rst_flag=0 bld_rev=2661731 flash_type=spinand flash_size=64MB dram_size=128MB devtype=0x25212 chip_id=0x8656 trspt_mode=0x0 burn_mode=0x0 dbg=<NULL> sys_nobackup=1
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 61440K/68608K available (3467K kernel code, 207K rwdata, 888K rodata, 1532K init, 221K bss, 7168K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc4800000 - 0xff800000 ( 944 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc4300000 ( 67 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc036b098 (3469 kB)
[ 0.000000] .init : 0xc0469000 - 0xc05e8000 (1532 kB)
[ 0.000000] .data : 0xc05e8000 - 0xc061be08 ( 208 kB)
[ 0.000000] .bss : 0xc061be08 - 0xc0653400 ( 222 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] Switching to timer-based delay loop, resolution 20ns
[ 0.000000] clocksource: timer1: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 38225208935 ns
[ 0.000006] sched_clock: 32 bits at 50MHz, resolution 20ns, wraps every 42949672950ns
[ 0.000123] Console: colour dummy device 80x30
[ 0.000152] console [ttyS0] enabled
[ 0.000168] Calibrating delay loop (skipped), value calculated using timer frequency.. 1980.82 BogoMIPS (lpj=9904128)
[ 0.060062] pid_max: default: 32768 minimum: 301
[ 0.060134] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.060141] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.060564] CPU: Testing write buffer coherency: ok
[ 0.060760] Setting up static identity map for 0xa0008200 - 0xa0008234
[ 0.061778] devtmpfs: initialized
[ 0.062723] VFP support v0.3: implementor 41 architecture 2 part 30 variant 7 rev 5
[ 0.062815] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[ 0.062828] futex hash table entries: 256 (order: -1, 3072 bytes)
[ 0.063163] NET: Registered protocol family 16
[ 0.063580] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.065864] boot_media = 2, hik_flash_size = 0x4000000
[ 0.066620] CHIP: FH8656
[ 0.070678] fh_axi_dmac fh_axi_dmac.0: FH DMA Controller, 6 channels
[ 0.070956] usbcore: registered new interface driver usbfs
[ 0.071004] usbcore: registered new interface driver hub
[ 0.071049] usbcore: registered new device driver usb
[ 0.072317] clocksource: Switched to clocksource timer1
[ 0.072516] FS-Cache: Loaded
[ 0.077669] NET: Registered protocol family 2
[ 0.078210] TCP established hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.078227] TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.078241] TCP: Hash tables configured (established 1024 bind 1024)
[ 0.078297] UDP hash table entries: 256 (order: 0, 4096 bytes)
[ 0.078311] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
[ 0.078410] NET: Registered protocol family 1
[ 0.078696] RPC: Registered named UNIX socket transport module.
[ 0.078701] RPC: Registered udp transport module.
[ 0.078704] RPC: Registered tcp transport module.
[ 0.078706] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.286042] workingset: timestamp_bits=30 max_order=14 bucket_order=0
[ 1.294046] NET: Registered protocol family 38
[ 1.294056] Key type asymmetric registered
[ 1.294075] io scheduler noop registered
[ 1.294222] io scheduler cfq registered (default)
[ 1.296833] fh_pwm_probe: clk_rate: 50000000
[ 1.296987] PWM driver, Number: 12, IO base addr: 0xc5070000
[ 1.298204] Serial: fh serial driver
[ 1.298274] ttyS.0: ttyS0 at MMIO 0xf0700000 (irq = 62, base_baud = 1041666) is a ttyS
[ 1.298426] fh serial at 0xf0700000, irq 62
[ 1.298464] ttyS.2: ttyS2 at MMIO 0xf1300000 (irq = 73, base_baud = 1041666) is a ttyS
[ 1.298614] fh serial at 0xf1300000, irq 73
[ 1.299458] brd: module loaded
[ 1.299902] efuse open mode is 307
[ 1.300228] CLK misc driver init successfully
[ 1.300799] spi spi0.0: setup: ignoring unsupported mode bits 800
[ 1.301929] default get_ecc_status
[ 1.301934] SPI-NAND: W25N512GV is found.
[ 1.302451] Bad block table found at page 32704, version 0x01
[ 1.303287] Bad block table found at page 32640, version 0x01
[ 1.303740] mem_size =0x4000000 erease_shift=17 quality_size=0x200
[ 1.303751] no partition for flash quality
[ 1.303754] mtd flash quality find_storage_addr failed
[ 1.306326] Creating 18 MTD partitions on "spi0.0":
[ 1.306341] 0x000000000000-0x000000100000 : "bld"
[ 1.307311] 0x000000100000-0x000000180000 : "env"
[ 1.308096] 0x000000180000-0x000000200000 : "enc"
[ 1.308859] 0x000000200000-0x000000280000 : "sysflg"
[ 1.309641] 0x000000280000-0x000000380000 : "dpt"
[ 1.310430] 0x000000380000-0x000000880000 : "rcvy"
[ 1.311217] 0x000000880000-0x000000d80000 : "sys0"
[ 1.312027] 0x000000d80000-0x000000d80000 : "sys1"
[ 1.312903] 0x000000d80000-0x000003580000 : "app0"
[ 1.313816] 0x000003580000-0x000003580000 : "app1"
[ 1.314637] 0x000003580000-0x000003a80000 : "cfg0"
[ 1.315464] 0x000003a80000-0x000003f80000 : "cfg1"
[ 1.316223] 0x000003f80000-0x000003f80000 : "syslog"
[ 1.316993] 0x000003f80000-0x000003f80000 : "dpt1"
[ 1.317785] 0x000003f80000-0x000003f80000 : "resv"
[ 1.318573] 0x000003f80000-0x000003f80000 : "dat0"
[ 1.319372] 0x000003f80000-0x000003f80000 : "dat1"
[ 1.320208] 0x000003f80000-0x000003f80000 : "crttable"
[ 1.321501] libphy: Fixed MDIO Bus: probed
[ 1.321545] GMAC driver:
[ 1.321545] platform registration...
[ 1.331629] ephy: training data is :f
[ 1.332179] fh_gmac fh_gmac.0 eth0: mixed HW and IP checksum settings.
[ 1.332352] eth0 - (dev. name: fh_gmac - id: 0, IRQ #76
[ 1.332352] IO base addr: 0xc50c0000)
[ 1.342441] ephy: training data is :f
[ 1.425937] libphy: gmac_rmii: probed
[ 1.425944] found fh internel phy...
[ 1.428775] AFE driver [Raw] : [100M] : [10M] = [101f] : [10] : [1f]
[ 1.428781] eth0: PHY ID 00441400 at 0 IRQ -1 (0:00) active
[ 1.429398] PPP generic driver version 2.4.2
[ 1.430691] PPP BSD Compression module registered
[ 1.430696] PPP Deflate Compression module registered
[ 1.430710] PPP MPPE Compression module registered
[ 1.430715] NET: Registered protocol family 24
[ 1.486403] fh_usb fh_usb.0: DWC OTG Controller
[ 1.486440] fh_usb fh_usb.0: new USB bus registered, assigned bus number 1
[ 1.486467] fh_usb fh_usb.0: irq 71, io mem 0x00000000
[ 1.486648] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.486657] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.486662] usb usb1: Product: DWC OTG Controller
[ 1.486668] usb usb1: Manufacturer: Linux 4.9.129 dwc2_hsotg
[ 1.486672] usb usb1: SerialNumber: fh_usb.0
[ 1.487122] hub 1-0:1.0: USB hub found
[ 1.487153] hub 1-0:1.0: 1 port detected
[ 1.487443] usbcore: registered new interface driver cdc_wdm
[ 1.533746] random: fast init done
[ 1.542406] fh_rtc fh_rtc.0: rtc core: registered fh_rtc as rtc0
[ 1.542538] i2c /dev entries driver
[ 1.542586] I2C driver:
[ 1.542586] platform registration...
[ 1.542622] tx fifo depth: 16, rx fifo depth: 16
[ 1.542809] I2C - (dev. name: fh_i2c id: 0, IRQ #43
[ 1.542809] IO base addr: 0xc50d0000)
[ 1.542829] I2C driver:
[ 1.542829] platform registration...