I spent hours looking for solution to change Thomson TWG870U to cable modem mode.
I tried the html code injection based on great guide by DECEiFER, but without success.
I finally have managed to achieve this by changing value in MIB table. Here is how to: (use network cable connected directly to Thomson router, don't do this over WiFi)
Windows guide 1 (original one that worked for me)
1. Download application capable of MIB editing (I have used CM watch (client) - nice cable modem monitoring tool, can be downloaded here)
2. Download Net-SMP from here.
3. Make sure you set up your CM Watch correctly:
* Host - this is your router
* Leave community settings at public.
* we don't need (and we don't know) CMTS IP address.
* path to NET-SNMP installation.
4. Make sure you disable firewall on both your PC and router, disable any antyvirus software you have. Also enable 'Remote Config Management' on the Thomson
Once I've done all steps above I could see some info from the mode.
5. Select 'Set OID' from the icon bar.
6. Change following key:
from 2 to 1
Use bottom part of the 'Set OID' window. When ready just click 'Set'
7. Router should restart itself and change mode from 'Cable Home' to 'Cable Modem. That's it!
My Open-WRT have public IP now (on the picture below it is my pc to show the method working), speeds are a bit better but ping was greatly improved. Phone still works.
Windows guide 2 (thanks to Jonathanpbk)
I could not get CMWatch to communicate with the Thomson at all. No matter what I did, it just wouldn't bring up any info from it.
So I ended up looking around for an alternative MIB browser.
I eventually found this. The free version works fine.
I put the routers IP into the bar at the top, clicked "Advanced" and entered "public" into the "Read/Write Community" fields.
Selected "Walk" in the "Operations" drop-down on the top bar back in the main window and clicked "Go". Straight away I'm seeing tonnes of info about the Thomson. I'm also seeing loads of MIB keys, so I search for the string in the first post and sure enough it's there, set to 2 as it should be. So I right-clicked (i think) on it and clicked "Set". changed the 2 to a 1 and saved it. Immediately my network connection died and started obtaining an IP again. Once it reconnected, I had a public IP on my PC!
For further reference, in case a Linux user is too lazy to find it by itself, command is
snmpset -v2c -c public 192.168.0.1 18.104.22.168.4.1.4422.214.171.124.126.96.36.199.0 i 1
Assuming Thomson's ip address is 192.168.0.1
Modem settings can be reverted to default by doing factory reset - just hold the reset button at the back of the modem for > 30 seconds
Router can be accessed under: 192.168.100.1