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

Tomy Sakazaki

Well-Known Member
Member
Joined
Oct 23, 2006
Messages
880
Trophies
0
Website
Visit site
XP
812
Country
Brazil
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.
 

pikatsu

Well-Known Member
Member
Joined
Apr 16, 2014
Messages
845
Trophies
0
Age
39
XP
1,163
Country
Argentina
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?
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
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

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
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)
 

Tomy Sakazaki

Well-Known Member
Member
Joined
Oct 23, 2006
Messages
880
Trophies
0
Website
Visit site
XP
812
Country
Brazil
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.
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
432
Trophies
0
Age
29
XP
2,553
Country
Russia
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!
 

Cyan

GBATemp's lurking knight
Former Staff
Joined
Oct 27, 2002
Messages
23,749
Trophies
4
Age
45
Location
Engine room, learning
XP
15,649
Country
France
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

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
432
Trophies
0
Age
29
XP
2,553
Country
Russia
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:
 

Tomy Sakazaki

Well-Known Member
Member
Joined
Oct 23, 2006
Messages
880
Trophies
0
Website
Visit site
XP
812
Country
Brazil
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
 

redunka

Well-Known Member
Member
Joined
Nov 26, 2014
Messages
432
Trophies
0
Age
29
XP
2,553
Country
Russia
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

General chit-chat
Help Users
  • No one is chatting at the moment.
    Veho @ Veho: The cybertruck is a death trap.