If you remember my last post, I had finished sorting out the hardware, and had just taken the plunge with fishing around for working embedded software. I’ll be honest, it didn’t take many attempts to find a “working” solution, but each attempt felt like an age due to the switching between programs to use XMODEM. For some reason RealTerm doesn’t support XMODEM, and TeraTerm simply wouldn’t send the data. I found ClearTerminal, which although managed absolutely fine with XMODEM there were issues with interrupting the boot process of the camera; a necessary step when dealing with experimental Linux images.
I hit various brick walls, including the camera having a “Kernel panic”, and numerous I2C errors. The Kernel Panic was due to a completely incompatible firmware, and the I2C error seemed to be triggered by some “missing” hardware. Missing in that the camera would support it, but it simply wasn’t included in this model.
On the forth attempt I tried software designed for the HooToo camera – and not only had the camera booting up, but I also had a web interface to use. This wasn’t the nicest interface in the world, but at least I could see the video stream and control the camera. The hardware was fixed, some software was running; job done, or so I thought.
This camera originally came with some software that when installed prompted the user to enter the camera’s serial number. This serial number is used to tie together the camera and a DDNS service. DDNS stands for Dynamic Domain Name Service, and once set up it allows you to view the IP camera from anywhere in the world. The HooToo software has an unknown DDNS hard coded, or allows you to specify a different DDNS service. Unfortunately, this was restricted to DynDNS.org and a couple dodgy Chinese services that my browser warned me against visiting.After some digging around I realised that the DDNS information is held in the romfs.bin file, and that it might be possible to use parts of my original extracted romfs.bin file to overwrite HooToo’s default DDNS service information.
At which point it struck me, I already had a working webui.bin and romfs.bin as it was just my linux.zip file that the camera had decided it didn’t need anymore. So I reflashed my original working files and the working linux.zip from HooToo and … it didn’t work. Well, that is not strictly true. The camera was working, and I could use an additional piece of software to control the camera, and get its video feed, but the website was a pink background with “Page not found” plastered on it. I assume there are some checks in the implementation of that uCLinux that checks the versions of romfs.bin and webui.bin.
For me, the challenge had been won with the HooToo firmware. I had traced the problem back to some shorted pins, and theorised that the problem was with the position of the ARM processor relative to the mounting hole of the camera. The camera was now in a usable state, and the intellectual challenge was over.All that was left was to brute force the firmware issues. I emailed StorageOptions on the off chance that they would take me at my word, and not think of me as a backstreet manufacturer too lazy to play with embedded software. They have yet to reply to me, so I have resorted to creating a table of every possible combination of linux.zip, romfs.bin and webui.bin to find other working combinations. If nothing, this will be some potentially useful information to feed back into the community.
And now, I stalled again. I made the mistake of sharing my progress with the customer (i.e. my father-in-law), and he was so impressed that I’d brought his camera back from the dead that he wanted it back. The website and DDNS functionality weren’t working, but he is fine with that at the moment as you can still view the stream and control the camera from an additional piece of software. I would be surprised if a mobile app wasn’t in existence or in progress, and the DDNS issue can be resolved by remembering your home’s IP address. So it is with a heavy heart that I bid farewell to the camera. It has been fun.
now. You are not alone, I figured this would be an easy fix too. If you remember last post (or care to
I have jumped the first hurdle, only to be greeted by a brick wall. Yes, I can see more of the flash. No, the flash is not complete – or at least it is corrupt. I will take this opportunity to thank the people over at
Again, if you checked my last post, you would see that I gave up on using the Logic Sniffer. Or should I say I gave up on it for the night. The next day I took it to work, followed the same steps and “hey presto” it worked first time. I am now running the latest PIC and FPGA code, and it works great…at work. For some reason, it still doesn’t play nice with my home PC. There must be some quirk with the combination of Windows 7 and a 64bit OS that means it just won’t play nice. It appears as a comms port, but software doesn’t appear to be able to talk to it. I am chalking this up to be an issue with the Microchip drivers, as I can’t open the port in any other program either. I went as far as downloading Microchips latest Application Library (containing the latest USB Framework), in an attempt to get a working virtual com port, but even that didn’t work.
Moving back to the camera. Although the boss is aware that I am bringing this problem into work, I set it apart just for breaks and lunch time, and the occasional early start and late finish. As part of the process I have had to take the PCB out of the case. This makes probing a lot easier, but also has the added benefit of disguising its true purpose if the MD walks past my desk.
courses when I received a phone call from my father-in-law. This usually means that some piece of technology has gone wrong and I take the role of helpdesk. Before you all start drawing conclusions from this; he is fairly technical and so this call means something has gone seriously wrong, and I actually enjoy these challenges. Today’s challenge was a no-name pan/tilt IP Camera.
’t running. Plugging a network cable in lit up the status and activity LED’s so at least we knew that it was getting power. I didn’t really want to open the camera yet (purely as it wasn’t mine), so opened up AngryIPScanner and Wireshark. I couldn’t find the device on any subnet despite the activity light flickering. There was no other option, I had to crack this bad boy open.
ber of chips on the PCB (# ESTESPCB613M136) , including a Nuvoton W90N745CDGARM (main ARM processor), Winbond W9812G6JH (2M SRAM), DM9161 (phy chip), and a WM8731 (audio codec). The other side included a Stansion S29GLO32 (another Flash chip) and a WiFi daughter-board. All in all, not an overly complex board. Due to a poor design choice, the threaded mounting hole is directly above the ARM chip. There was a light witness mark on the ARM, but I was more concerned by the marking on a number of pins – almost as if the solder was squashed. Unfortunately, I don’t have a decent iron at home, so a fix will have to wait until I get back to work. I turned to Google to get more information on the camera. I didn’t have access to the box, so I had no idea who the manufacturer was, but I found out that Foscam used to OEM extremely similar looking cameras in the past, and the likelihood is that this is either one of the OEM variants or a clone thereof.
he forums. I had to resort to hunting down my old PICDEM 2 PLUS board (circa 2002) and use the MAX232 onboard. I had to use the same trick to get the keys off my 360 DVD-drive, but that is another story. With fresh wires soldered onto the camera board, and plugged onto the PICDEM2 board, I loaded up RealTerm. Powering up the camera board revealed that the ARM is working (at least part of it), as I get a nice serial interface.
