The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
To upgrade the firmware a specific file must be downloaded from the Internet and uploaded to the device. Upgrading your devices can be very useful. Firmware upgrades can fix software bugs, improve features, and extend the life of the device. These improvements can benefit the overall performance of a device. When a firmware upgrade is applied the communications of the device stops temporarily. This document describes how to upgrade the firmware on a SPA112 or a SPA122.
Save the firmware upgrade file, that can be found by navigating in the link above, to a convenient location on your computer. The default destination is the downloads folder. Once downloaded, unzip the folder using a folder manipulation program.
Note: There are two default logins, cisco - which has basic user rights and will NOT see a firmware update option, and admin - which has the admin rights and has the option to update the firmware. Be sure you are in admin mode when performing a firmware upgrade.
Step 2. Click Choose File to choose the firmware version you want to install on the device from where you saved it. Once chosen, the file will appear next to the Choose File button.
The Current firmware version field display the current firmware that is installed on the device.
I am trying to upgrade my firmware but when I login and go to the Administration tab there is no option for "Firmware Upgrade". It does not even display on the screen. How can I get the firmware upgraded if there is not the option for this?
Check "Customization" option (it should be possible even with guest login access). If the units are RC/OEM (customization value other than 'Open') you has been cheated by seller - return units to them, ask for refund. OEM units are not suitable for resale.
I thought it would be nice to make a portable PBX that could travel with me when I take some of my retro computers places to demo them. The PBX would let me demonstrate how dial-up works without needing to find an actual working land-line, and if a land line was even available, without having to make an expensive long distance call. I can't remember what keywords I was looking for but the first model I came across was a Cisco SPA122 and when I looked on eBay there was one with a Buy-it-Now for under $10 shipped so I snapped it up.
When it arrived I wasn't able to log into it using the admin/admin password and even holding down reset didn't seem to clear it. Searching the internet provided no information on how to get into it if the admin/admin password didn't work, and if it was actually locked to a carrier it seemed there was no way to do anything with it. So of course I immediately took it apart to see if there were any interesting headers on it.
Pads for headers I found two unpopulated pads in the corner: J2 with 5 pins, and J3 with 8 pins. Suspecting that J2 is probably a serial interface, and J3 could be a JTAG interface I went ahead and soldered headers onto them.
The easiest thing to test first was the serial interface. Using my multimeter I quickly determined that pin 5 was GND and pin 1 was VCC which only left two other pins. I hooked up a 3v3 USB TTL serial adapter to pins 2, 3, and 5, fired up Kermit on a Linux box with it set to 115200 and powered on the SPA122. Sure enough, there was a serial console! I got lucky on the first try and managed to get the RX/TX pins the right way.
Seeing Linux boot gave me hope that this might be something I could actually hack into. After Linux boots up and has dumped lots and lots of console messages, pressing enter will print a Login: prompt. Unfortunately the password wasn't something easy like root/root or admin/admin.
Overriding boot Looking back at the console log I saw that very early on there was a "Hit any key to stop autoboot" message. That sounded interesting! I unplugged the SPA122, held down the space bar on my keyboard, and plugged it back in. The autoboot was stopped and I was presented with a "firetux #" prompt. I'm in! Well, not yet, but it's something.
Typing help dumped a list of commands that the boot loader supported. Lots of interesting things, including a printenv command. Using printenv gave me quite a lot of info, including a variable called bootargs. Hmm, that looks a lot like Linux boot parameters! I appended init=/bin/sh to the bootargs variable, booted it up, and there was my shell prompt. Success!
After a bit of fiddling around I discovered that at some point the SPA122 had reset itself to admin/admin on the web console and apparently my initial attempts to do a factory reset had simply failed.
Expecting that I had figured out quite a bit about how the system works and that I could probably break into a locked SPA122, I setup a saved search on eBay to keep an eye out for another SPA122 for cheap that was locked. The very next day one showed up for under $10 shipped that was listed as locked to RingCentral so I snatched it up.
The first thing I did upon arrival of the new RingCentral SPA122 was open it up to see if the board was identical. I was a little worried that a locked system might have a different board without the J2 serial connector. But not only did I discover that J2 was there, but that a previous owner had already soldered on the header apparently in an attempt to unlock it!
I plugged in the ethernet, the phones, and power to the RingCentral SPA122 to see if I could log in as admin/admin on the web page. Nope, I could only get in as cisco/cisco but that didn't allow me to do much. I couldn't change the SIP settings, change passwords, or upgrade the firmware. I tried resetting it to factory defaults by holding down the reset button for 10-15 seconds and that didn't get admin/admin working either. Dialing 73738# on an extension came back and said "Invalid option." It was definitely still locked to RingCentral!
Going back to my notes from the previous unit, I was quickly able to get into the locked one on the serial console and get a shell. I mounted the nvram partition and pulled off the nvram.data file to see what was in it. Sure enough, the admin login looked quite different from the unlocked & factory reset SPA122.
Unlocked! and rebooting and then going to the web interface I could now login as admin/admin. I could now see the Quick Setup page and fill in values but I was still not able to get the lines to register with my asterisk server. I decided at this point to go ahead and try updating the firmware so I downloaded the latest version from Cisco and went into the Administration page and let it do the firmware upgrade. It successfully installed and after it booted I was able to use 73738# on a phone to do a reset. After logging back in as admin/admin I entered the SIP info for my phones and they registered and I was able to make calls to all of the extensions on my Asterisk PBX!
Solder on a 5 pin header to J2 with pin 4 pulled and attach 3v3 USB TTL serial adapter. Pin 1 is VCC and should be left disconnected. Pin 2 is TX and goes to RX on your adapter, pin 3 is RX, and pin 5 is GND.
Your serial port should show up on your Linux box as /dev/ttyUSBx, most likely ttyUSB0 if you have no other USB serial devices. My preferred serial communications program is kermit. Start kermit from the terminal and enter:
Let the SPA122 boot up and verify that you're seeing the serial console and that pushing enter a few times will get a login: prompt. Then unplug power from the SPA122, hold down the space bar, and plug power back in. You should be dropped to a firetux # prompt.
With the nvram now edited and unmounted reboot the SPA122 by power cycling it. When it finishes booting back up you can go to the web interface and login as admin/admin. From there you can upgrade the firmware and then do a factory reset and log back in and configure your SIP devices and any other settings you'd like to change.
The built-in busybox is rather limited. If you'd like to make backups of things then you can download a more complete busybox to a RAM partition. In order to do that you'll need a regular http server on your LAN (the built-in wget doesn't support https and SSL) and you'll need to bring up the ethernet on the SPA122 manually. I'm not going to get into how to setup a web server on Linux, there's plenty of guides out there on doing that.
You can download a pre-compiled busybox binary for the ARMv5L on the SPA122 from here. Put the busybox-armv5l binary on your web server so that the SPA122 can download it. To get the MAC address, look in the console boot messages for a line like device_id = CC:D5:39:F2:AA:34.
Before I flashed new firmware onto the RingCentral SPA122 I made sure to copy the entire 32MB nand flash off, just in case I needed to restore it. For fun I did try restoring it through the firetux uboot, but I guess I needed to backup something else because while I can get the older 1.2.1 version back on there, the SPA122 remains unlocked with no indication it was ever tied to RingCentral. I'm not sure what I forgot to grab, and it doesn't matter a whole lot since I wanted an unlocked SPA122 anyway. But I sort of feel like my research is incomplete. If you have a locked SPA122 or SPA112 you'd like to donate, let me know!
Ive managed to connect to my locked SPA122 with my USB TTL and Ive followed your indications... but still no joy.Once I make the sed command and the umount I power up the device but not getting IP from my routers DHCP server. If I dial **** with the phone is still asking me for the password.
c01484d022