Homebrew RELEASE SwitchIdent

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
898
Trophies
1
Age
24
Location
Doesn't concern you.
XP
4,338
Country
United States
Do note, the tool may not prove all that useful quite yet (It was the same case with PSPident and 3DSident) but later on they were widely used to check a variety of things about your device.
Get nigtly (commit-ly) builds here!

Hello, 3DSident/VITAident dev here. I'm planning on continuing the identity tool series of Xident. The tool allows users to get various bits of information from your device, hence the name 'ident' as in identifying your device.

icon.jpg
Current version: 0.2

Features:
  • Displays system version.
  • Displays kernel version (except on 4.X.X).
  • Displays hardware type and unit.
  • Displays serial number.
  • Displays DRAM ID.
  • Displays device ID.
  • Displays system region.
  • Displays CPU and GPU clocks based on the performance configuration returned by the APM service.
  • Displays whether the switch is in docked/handheld state.
  • Displays IP Address.
  • Displays storage sizes for SD, NAND (user) and NAND (system).
  • Displays various system statuses. (Bluetooth, WLAN, NFC, etc.)
  • Displays battery percentage and charging status.
  • Displays battery charger type.
  • Displays if battery charging is enabled.
  • Displays if ample power is supplied.
  • Displays WIreless RSSI signals and quality.

GUI:
8StjYdi.jpg


Console:
lSfrKl4.jpg

Download: https://github.com/joel16/SwitchIdent/releases
 
Last edited by Joel16,

Miqote

Well-Known Member
Member
Joined
May 2, 2018
Messages
259
Trophies
0
XP
791
Country
Macedonia, The Former Yugoslav Republic of
I threw it into my dev environment and it spit this out:

Code:
$ make
kernel.c
aarch64-none-elf-gcc -MMD -MP -MF /d/switchdev/examples/switch/SwitchIdent-master/build/kernel.d -g -Werror -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE  -I/d/switchdev/examples/switch/SwitchIdent-master/include -I/opt/devkitpro/portlibs/switch/include -I/opt/devkitpro/libnx/include -I/d/switchdev/examples/switch/SwitchIdent-master/build -DSWITCH -c /d/switchdev/examples/switch/SwitchIdent-master/source/kernel.c -o kernel.o
In file included from D:/switchdev/libnx/include/switch.h:13:0,
                 from D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:1:
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetVersion':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:21: error: implicit declaration of function 'splGetConfig'; did you mean 'svcGetInfo'? [-Werror=implicit-function-declaration]
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                     ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:34: error: 'SplConfigItem_HardwareType' undeclared (first use in this function); did you mean 'SwitchIdent_GetHardwareType'?
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:34: note: each undeclared identifier is reported only once for each function it appears in
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetHardwareType':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:41:34: error: 'SplConfigItem_HardwareType' undeclared (first use in this function); did you mean 'SwitchIdent_GetHardwareType'?
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &hardware_type)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetUnit':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:59:34: error: 'SplConfigItem_IsRetail' undeclared (first use in this function)
  if (R_FAILED(ret = splGetConfig(SplConfigItem_IsRetail, &isRetail)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
cc1.exe: all warnings being treated as errors
make[1]: *** [/opt/devkitpro/devkitA64/base_rules:19: kernel.o] Error 1
make: *** [Makefile:140: build] Error 2

I'm guessing it's just a matter of using the Switch-equivilent of these functions (and what they require), but I'm not nearly advanced enough to be able to fix it on my own. My knowledge of libnx is pretty fresh and new. Sorry!
 
Last edited by Miqote,

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
898
Trophies
1
Age
24
Location
Doesn't concern you.
XP
4,338
Country
United States
I threw it into my dev environment and it spit this out:

Code:
$ make
kernel.c
aarch64-none-elf-gcc -MMD -MP -MF /d/switchdev/examples/switch/SwitchIdent-master/build/kernel.d -g -Werror -O2 -ffunction-sections -march=armv8-a -mtune=cortex-a57 -mtp=soft -fPIE  -I/d/switchdev/examples/switch/SwitchIdent-master/include -I/opt/devkitpro/portlibs/switch/include -I/opt/devkitpro/libnx/include -I/d/switchdev/examples/switch/SwitchIdent-master/build -DSWITCH -c /d/switchdev/examples/switch/SwitchIdent-master/source/kernel.c -o kernel.o
In file included from D:/switchdev/libnx/include/switch.h:13:0,
                 from D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:1:
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetVersion':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:21: error: implicit declaration of function 'splGetConfig'; did you mean 'svcGetInfo'? [-Werror=implicit-function-declaration]
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                     ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:34: error: 'SplConfigItem_HardwareType' undeclared (first use in this function); did you mean 'SwitchIdent_GetHardwareType'?
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:23:34: note: each undeclared identifier is reported only once for each function it appears in
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &version)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetHardwareType':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:41:34: error: 'SplConfigItem_HardwareType' undeclared (first use in this function); did you mean 'SwitchIdent_GetHardwareType'?
  if (R_FAILED(ret = splGetConfig(SplConfigItem_HardwareType, &hardware_type)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c: In function 'SwitchIdent_GetUnit':
D:/switchdev/examples/switch/SwitchIdent-master/source/kernel.c:59:34: error: 'SplConfigItem_IsRetail' undeclared (first use in this function)
  if (R_FAILED(ret = splGetConfig(SplConfigItem_IsRetail, &isRetail)))
                                  ^
D:/switchdev/libnx/include/switch/result.h:12:30: note: in definition of macro 'R_FAILED'
 #define R_FAILED(res)      ((res)!=0)
                              ^~~
cc1.exe: all warnings being treated as errors
make[1]: *** [/opt/devkitpro/devkitA64/base_rules:19: kernel.o] Error 1
make: *** [Makefile:140: build] Error 2

I'm guessing it's just a matter of using the Switch-equivilent of these functions (and what they require), but I'm not nearly advanced enough to be able to fix it on my own. My knowledge of libnx is pretty fresh and new. Sorry!

Sorry got extremely busy later on so I didn't get the time to upload any builds. However you're getting that issue because you haven't updated libnx. Its being built from the latest commit. I'll try and put out a test build tomorrow if I get time.
 

Miqote

Well-Known Member
Member
Joined
May 2, 2018
Messages
259
Trophies
0
XP
791
Country
Macedonia, The Former Yugoslav Republic of
Sorry got extremely busy later on so I didn't get the time to upload any builds. However you're getting that issue because you haven't updated libnx. Its being built from the latest commit. I'll try and put out a test build tomorrow if I get time.

I installed the dev environment on 5/14 using the guide on Switchbru. The GUI (devkitproUpdater) says there's no updates. I imagine I'm probably missing something on how to update it, though.
 

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
898
Trophies
1
Age
24
Location
Doesn't concern you.
XP
4,338
Country
United States

fatsquirrel

Well-Known Member
Member
Joined
Nov 11, 2013
Messages
2,611
Trophies
1
Age
32
XP
3,041
Country
  • Like
Reactions: whateverg1012

Joel16

Ils ne passeront pas
OP
Member
Joined
May 8, 2011
Messages
898
Trophies
1
Age
24
Location
Doesn't concern you.
XP
4,338
Country
United States
Can you find any information on different switch screens at all?
I do not own the device. And there's no way to tell if there's a function that can determine the screen vendors (like in the 3DS). Maybe there is, maybe there isn't. So this may not even be a thing, but if its it won't be available just yet. Ignore that, seems like there is a function that might determine the screen vendors -> GetLcdVendorId (only on 4.00+)

Also updated the dl link for anyone who wants to test: https://cdn.discordapp.com/attachments/287345711492628490/446690987042013204/SwitchIdent.nro

Do report any error codes or issues.
 
Last edited by Joel16,
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Veho @ Veho:
    Shame.
    Gift
  • Veho @ Veho:
    I heard it's more R.L. Stine than serious horror.
    Gift
  • kenenthk @ kenenthk:
    It's mostly trying to please new audience by saying we're okay with your sexual orientation and don't discriminate with a few murders here and there
    Gift
  • Veho @ Veho:
    They had that in the movies too.
    Gift
  • kenenthk @ kenenthk:
    Yeah but it's more in your force sort of
    Gift
  • Veho @ Veho:
    Chucky's son/daughter in Seed of Chucky.
    Gift
  • kenenthk @ kenenthk:
    It's not horrible just feels like they're trying to please crowds too hard
    Gift
  • kenenthk @ kenenthk:
    He did make a reference to his gender fluid son saying he doesn't have a problem with it which was a cool way to tie plots
    Gift
  • Veho @ Veho:
    "I don't know f I'm male or female or both or neither..:" "But do you like stabbing?" "Yes." "Then I love you."
    Gift
  • Veho @ Veho:
    "Let's go murder some people.
    Gift
  • kenenthk @ kenenthk:
    It just feels more cast heavy and not much focus on chucky imo
    Gift
  • katebeyond @ katebeyond:
    Monster Hunter Stories 2 Save
    Does anyone have a 100% complete storyline save?
    Nintendo Switch
    Gift
  • Psionic Roshambo @ Psionic Roshambo:
    Better than poop dog do double o OG poop machine
    Gift
  • kenenthk @ kenenthk:
    My monster just got done 100%
    Gift
  • Gift
  • katebeyond @ katebeyond:
    give me save
    Gift
  • Gift
  • katebeyond @ katebeyond:
    @kenenthk, I want to watch videos But not on YouTube
    Gift
  • Gift
  • kenenthk @ kenenthk:
    I'm friends with the monster that's under my bedGet along with the voices inside of my headYou're tryin' to save me, stop holding your breathAnd you think I'm crazy, yeah, you think I'm crazy
    Gift
  • Veho @ Veho:
    WELL THAT'S NOT BAD
    Gift
  • Maq47 @ Maq47:
    Pretty sure it's "Well that's nothing".
    Gift
  • Veho @ Veho:
    I don't really care :tpi:
    Gift
  • Gift
  • Veho @ Veho:
    Sammich.
    Gift
    Veho @ Veho: Sammich.