ROM Hack [Release] UpdateCDN - download 3DS FW contents, create installable .cia

  • Thread starter Thread starter cearp
  • Start date Start date
  • Views Views 153,202
  • Replies Replies 358
  • Likes Likes 39
I don't know if I'm doing something wrong or if it doesn't work as it is right now. But I failed to update from my gateway emuNAND 8.1 to 9.2 on Omega 2.6.
I've generated the CIA with 9.2.0-20.csv and installed all the CIA from 9.0.0-20, 9.0.0-20-stage2 and 9.2.0-20 directories.
Maybe the problem is that since I've force installed the contents the console didn't "know" that it had to reset some settings and prepare files for theme support.
Maybe someone (even gateway team) will find a way to put this to give the option to do a manual emunand update.

EDIT: Thanks cearp for this tool, may this eventually help folks to update their emunand to the highest possible version without resorting to official ways.
 
3.JPG
I put UpdateCDN.py -EUR 9.2.0-20.csv and downloaded all these. If i want to downgrade have i to install all of them or only 9.2.0.20 folder?
 
If it could be used to update only the NVER (probably NVER+ErrDisp+another title? what else is required for ninjhax? maybe the internet browser) to update 4.5.0-5 to 4.5.0-7 that would be great !
I currently can't run ninjhax on my realNAND as I don't have the minimum revision number.

Thanks for this tool.
You should put a version number so we know if you update it.

A NUSD-like tool would be great too (list title and version to download a single one, instead of downloading all the files for system update)


edit:
Code:
Traceback (most recent call last):
  File "UpdateCDN.py", line 9, in <module>
    import argparse
ImportError: No module named argparse
I have python 2.7 (I think) Ah, never installed it, I had 2.6
Edit:
Python 2.7.9 and make_cdn_cia.exe on Windows XP x86 works fine :)


Could you save the output text to a log file?
so we could check what worked or failed. in case it miss a file (nintendo could delete old versions of their titles to prevent downgrading, and keep only latest version)

I checked the sources, there's a log if tmd/cetk failed, but not the other files.
no log on success.

edit:
Code:
Finished! (If nothing happened/downloaded, check the region you specified exists in the csv you used.)
Traceback (most recent call last):
  File "UpdateCDN.py", line 116, in <module>
    cetk = urllib2.urlopen(baseurl + '/cetk')
  File "C:\Python27\lib\urllib2.py", line 154, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python27\lib\urllib2.py", line 431, in open
    response = self._open(req, data)
  File "C:\Python27\lib\urllib2.py", line 449, in _open
    '_open', req)
  File "C:\Python27\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 1227, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "C:\Python27\lib\urllib2.py", line 1200, in do_open
    r = h.getresponse(buffering=True)
  File "C:\Python27\lib\httplib.py", line 1074, in getresponse
    response.begin()
  File "C:\Python27\lib\httplib.py", line 415, in begin
    version, status, reason = self._read_status()
  File "C:\Python27\lib\httplib.py", line 371, in _read_status
    line = self.fp.readline(_MAXLINE + 1)
  File "C:\Python27\lib\socket.py", line 476, in readline
    data = self._sock.recv(self._rbufsize)
socket.error: [Errno 10054] Une connexion existante a du etre fermee par l'hote distant
When re-downloading the same version, you should check if file already exists and is the correct size to prevent downloading it again. or delete it if download fails.
You currently check only tik and cetk presence, right?
 
  • Like
Reactions: supermalloch
Put both make_cdn_cia.exe, UpdateCDN.py and the .csv file you want to use in the same folder.
open a command line window or create a .bat file, and write this :
Code:
python UpdateCDN.py -EUR 9.4.0-21.csv
(or other csv version)
 
so i can make any 3ds have sysnand 4.1-4.5 or 9.0-9.2 with this tool?

Unfortunately I couldn't use this method to upgrade my emunand from 8.1 to 9.0 or 9.2. It freezes with black screen when trying to boot the updated emunand when the console should be preparing the files and settings for use with themes.
Probably it works well with system menu below the 9.X family.
So I wouldn't recommend to try this method to mess with sysnand unless you have hardware modification to re-write your sysNAND and a backup of your sysNAND.
 
Put both make_cdn_cia.exe, UpdateCDN.py and the .csv file you want to use in the same folder.
open a command line window or create a .bat file, and write this :
Code:
python UpdateCDN.py -EUR 9.4.0-21.csv
(or other csv version)
Still doesn't work. Command line doesn't run ''python'' command. Or I should use python command line? Sorry, i totally noob at this.
Nvm, thank you very much!
 
when you install Python, the last option is not enabled by default "Write Python in your environment variable path". You need to enabled it before clicking "next" or "install".

If you skipped this part, you can either :
- Reinstall
or
- write the full path to python : c:\python27\python.exe UpdateCDN.py -EUR 9.4.0-21.csv
or
- set python in your env path manually :
Go to Computer, right-click, option, Advanced tab, Environment variables :

Search for "path" in the "system environment variable" list.
Edit it and add this at the start of the line:
Code:
C:\Python\Python27\;C:\Python\Python27\Scripts;
If you put it at the end, be sure you don't have another python path already present or it will be used in priority.
 
  • Like
Reactions: Tomy Sakazaki
when you install Python, the last option is not enabled by default "Write Python in your environment variable path". You need to enabled it before clicking "next" or "install".

If you skipped this part, you can either :
- write the full path to python : c:\python27\python.exe UpdateCDN.py -EUR 9.4.0-21.csv
or
- set python in your env path manually :
Go to Computer, right-click, option, Advanced tab, Environment variables :

Search for "path" in the "system environment variable" list.
Edit it and add this at the start of the line:
Code:
C:\Python\Python27\;C:\Python\Python27\Scripts;
If you put it at the end, be sure you don't have another python path already present or it will be used in priority.
Yes, I already noticed this. Thank you. :lol:
 
Still doesn't work. Command line doesn't run ''python'' command. Or I should use python command line? Sorry, i totally noob at this.


I've copied the files from the updateCDN (including cvs), make cia executable to my python installation folder and opened a command prompt (from windows) at this directory and ran the commands there because I'm lazy and didn't wanted to reset my computer (I'll tell at the end how to configure windows to call python command in any directory).
Probably what's wrong with you is that the python shell is trying to find the CSV file in the python directory - and it's not there, or it doesn't like filenames with dots besides the extension separator as argument where windows' command prompt deals with it correctly and the python interpreter also deals nicely with it. So I recommend trying to use windows' command prompt to work with this python script.

I'm supposing that you are a windows user, so I'll give a tip regarding using commands in every directory.
If you would like to run the python (or almost any other executable) as a command in windows' command prompt in any directory you have to open your system properties (windows + pause keys), open the advanced system configurations (or anything like that), and click on environment variables, find the Path variable, select it and click on Edit, in the box "variable value", go to the end of it, add a semi-colon ( ; ) and after it write down the directory where python is installed (in my case C:\Python27), click in OK to close the Edit window and Ok again to close the environment variables window. Then reset you computer.
After restarting you should be able to invoke the python and pythonw commands in any directory that you're navigating through windows' command prompt.
EDIT: Ninja'd by Cyan
 
I've copied the files from the updateCDN (including cvs), make cia executable to my python installation folder and opened a command prompt (from windows) at this directory and ran the commands there because I'm lazy and didn't wanted to reset my computer (I'll tell at the end how to configure windows to call python command in any directory).
Probably what's wrong with you is that the python shell is trying to find the CSV file in the python directory - and it's not there, or it doesn't like filenames with dots besides the extension separator as argument where windows' command prompt deals with it correctly and the python interpreter also deals nicely with it. So I recommend trying to use windows' command prompt to work with this python script.

I'm supposing that you are a windows user, so I'll give a tip regarding using commands in every directory.
If you would like to run the python (or almost any other executable) as a command in windows' command prompt in any directory you have to open your system properties (windows + pause keys), open the advanced system configurations (or anything like that), and click on environment variables, find the Path variable, select it and click on Edit, in the box "variable value", go to the end of it, add a semi-colon ( ; ) and after it write down the directory where python is installed (in my case C:\Python27), click in OK to close the Edit window and Ok again to close the environment variables window. Then reset you computer.
After restarting you should be able to invoke the python and pythonw commands in any directory that you're navigating through windows' command prompt.
EDIT: Ninja'd by Cyan
Thank you, but I already made cia ;).
 

Site & Scene News

Popular threads in this forum