Just a few technical notes on debugging the SSL Nucleus (mk1) through serial port. I will enventually update this article with additional commands tests.
First of all, you’ll need a USB to serial cable, which can easily be found on amazon, aliexpress and so on. Such a cable it about 1€, don’t spend more on it!
On macOS: open a Terminal and type:
screen /dev/tty.wchusbserial141330
The actual name of the device may differ, but it’s probably be something close.
You now have a pretty nice shell, opened on your Nucleus, type « help » to show all available commands:
CMD>help
TP220_3 [] Daw channels layer 3 diags
ALLOC_3 [] DAW allocator
TP220_2 [] Daw channels layer 2 diags
ALLOC_2 [] DAW allocator
ACTIVE [] Ptoosl active send
TP220_1 [] Daw channels layer 1 diags
ALLOC_1 [] DAW allocator
TP180 [] Soft key diag
TP186 [] Layer Control
TP215 [] control groups
TP177 [] UDP midi
IP [] TCPIP Diags
ETHer [] PX1 Ether diags
DAW [] DAW config
CCC [] cc config
SOKS [] Soft key diag
FLIST [] function lists
TP234 [] Centre meters
TP199 [] USB KBD Functions
SVEN2 [] 7 seg diag
SURF [] ctrl surface diags
TP5 [] Control manager
TP86 [] Power up restore
LOG [] Logging
FRAM [] FRAM cmds
FS [] File system
RTC [] Real time clock
USB [] USB Kbd Diags
TH6 [] SPI Access
TH17 [] 675 Live Bus
TH16 [] MD Bus
REP [] Diags
TH18_0 [] LCD Driver
TH19 [] Firmware Revision
INTEG check code integrity
CRASH crash system
VER SW version
G Flip back to the trusty "G" interpreter; same as <ctrl D>
DEBUG [] Stuff which should probably be somewhere else
HEAP [] Heap diags
MOS [] Operating system diagnostics
FILES Show file task ids
REPort [] Diagnostic reporting
CMD>
Now, it’s probably the best time for the traditional disclaimer: you may break things here, I’m not responsable for anything.
Command | Short description | Description |
TP220_3 | Daw channels layer 3 diags | untested |
ALLOC_3 | DAW allocator | untested |
TP220_2 | Daw channels layer 2 diags | untested |
ALLOC_2 | DAW allocator | untested |
ACTIVE | Ptoosl active send | untested |
TP220_1 | Daw channelslayer 1 diags | untested |
ALLOC_1 | DAW allocator | untested |
TP180 | Soft key diag | untested |
TP186 | Layer Control | untested |
TP215 | Control Groups | List all internal states for all DAW sync-ed items (faders, buttons, pots, etc.). |
TP177 | UDP midi | untested |
IP | TCPIP Diags | untested |
ETHer | PX1 Ether Diags | untested |
DAW | DAW Config | untested |
CCC | CC config | untested |
SOKS | Soft key diag | untested |
FLIST | function lists | untested |
TP234 | centre meters | Setup the MIC meter (from 1 to 2) led display to a given value (from 0 4000) to . Ex: « TESTmtr 1 2000 » lights up half the left channel leds. |
TP199 | USB KBD functions | untested |
SVEN2 | 7 seg diag | Shows a 2 letter text on the center « MODE » 7 segments display. |
SURF | ctrl surface diags | untested |
TP5 | Control manager | untested |
TP86 | Power up restore | untested |
LOG | Logging | Dumps the last boot message (see below) |
FRAM | FRAM cmds | untested |
FS | File system | untested |
RTC | Real Time Clock | untested |
USB | USB kbd diags | untested |
TH6 | SPI Access | untested |
TH17 | 675 Live Bus | untested |
TH16 | MD Bus | untested |
REP | Diags | untested |
TH18_0 | LCD Drivers | A set of commands to display text on the left/right two lines LCD |
TH19 | Firmware revision | Shows the firmware revision « FPGA Firmware version is : V2.01 » |
INTEG | check code integrity | Check the OS integity, supposed to show « Code integrity test passed. » |
CRASH | crash system | untested |
VER | SW version | Shows the software version: « Software : Nucleus Version : V1.6/2 I Build : Tue 17 Jun 14, 15:59:17 by alanj » |
G | Flip back to the trusty « G » interpreter; same as | untested |
DEBUG | Stuff which should probably be somewhere else | untested |
HELP | Heap diags | untested |
MOS | Operating system diagnostics | untested |
FILES | Show file task ids | untested |
REPort | Diagnostic reporting | untested |
Boot logs:
Version : V1.6/2 I
Build : Tue 17 Jun 14, 15:59:17 by alanj
TP96: Monitor type is SSL Aude 505 CPU Monitor
TH19: Firmware: V2.01
th5_control_bus
th16_bud_md_bus
th5_control_bus
th17_bud_live_bus
TF1: File system
th12: MMC/SD init: Caching ON
th12: card type 8
TF1: File system status: OK
TF1: 3896246272/3942645760 bytes free
tp301: Read 8192 bytes of FRAM data from disk (requested 8192)
TS4: Crash logger
tp86: Valid console PUR data found
TP5: Control manager
tp299: xdaw control surface
tp234_bud_centre_meters
TP226: Function lists
TP184: Soft Key Manager
TP253: CC Config
TP190: DAW config
tp190: setting profile 'BG Protools' ('/userprof/4') on daw layer 1
tp190: setting profile 'B Logic Standard' ('/userprof/2') on daw layer 2
tp190: setting profile 'Live Standard' ('/sslprof/14') on daw layer 3
PX1: Ethernet
PX1: mem map B
PX1: 82559 Detected
TC4: TCPIP setup
TC4: 31 bytes of FRAM used
TC4: Using DHCP assigned addresses
TC1: OpenTCP Init
TC1: Using DHCP assigned addresses
TC1: MAC address is 58:0c:13:04:02:90
TP185: Soft Key Assignments
TP219: Layer 1 initialisation for protocol 'HUI'
TP212 Creating HUI layer. First chan 1, last chan 16
tp75: constructing HUI LUT
TP219: Layer 2 initialisation for protocol 'Logic Audio'
TP213 Creating MCU layer. First chan 1, last chan 16
tp75: constructing MCU LUT
TP160: Starting 2 MCU handhake ports for layer 2
tp160: rcvd port active on port 0
tp160: rcvd port active on port 1
TP219: Layer 3 initialisation for protocol 'Logic Audio'
TP213 Creating MCU layer. First chan 1, last chan 16
tp75: constructing MCU LUT
TP160: Starting 2 MCU handhake ports for layer 3
tp160: rcvd port active on port 0
tp160: rcvd port active on port 1
TP176: AWS90 Remote [serial no. 262800]
TC1: Starting IP services
TC1: got DHCP IP address 10.0.1.107
TP277: Calibrating fader touch 1...16
TP277: Calibrating faders 1...16
Software : Nucleus
Version : V1.6/2 I
Build : Tue 17 Jun 14, 15:59:17 by alanj
Code integrity test passed.
Boot completed in 1030 ticks.
Bonne vue d’ensemble de l’interface interne de Nucleus. grâce à votre examen, j’ai restauré le nouveau SSL Nucleus2 acheté sur Ebay. cependant, j’ai dû bricoler avec l’étude du micrologiciel pour surveiller le port série via MacOS pendant que l’ordinateur était configuré avec le port D’Sub9.
SSL Nucleus 480 CPU Monitor
Thu 27 Oct 16, 10:43:29 by julianp
V1.3/0
Auto boot – Control C to abort
Break
MON>
MON>X
th12: card type 00000004
Loading code from MMC card
MON>S
Unknown Command
MON>S
Unknown Command
MON>!SS
Compressing code… (image size = 8755177)
(zip size = 1603302)
Erasing flash…
Flash erased successfully
Saving code to flash…
Code saved to flash ok
MON>
SSL Nucleus 480 CPU Monitor
Thu 27 Oct 16, 10:43:29 by julianp
V1.3/0
Auto boot – Control C to abort
Code loaded from flash ok
Boot from flash
Starting
CMD>TA5: TIP app builder
Software : Nucleus
Version : V2.0/2 I
Build : Mon 03 Oct 16, 10:47:36 by julianp
TP96: No valid monitor ID found
Unauthorised software installed on desk
TH19: Firmware: V2.02
th16_bud_md_bus
th17_bud_live_bus
TF1: File system
th12: MMC/SD init: Caching ON
th12: card type 0
TF1: File system status: Not ready
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
TF1: 1768515945/0 bytes free
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: tp301_fake_fram_() file not found: /fram.dat
tp301: Set 8192 bytes of FRAM cache to 0
TS4: Crash logger
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
tp86: Valid console PUR data not found
TP5: Control manager
tp299: xdaw control surface, nucleus 2
tp234_bud_centre_meters
TP226: Function lists
TP184: Soft Key Manager
TP253: CC Config
TP190: DAW config
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp190: unable to create dir ‘/sslprof’ on FS…
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp190: unable to create dir ‘/sslprof’ on FS…
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp190: unable to create dir ‘/userprof’ on FS…
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp190: unable to create dir ‘/dawconf’ on FS…
PX1: Ethernet
PX1: mem map B
PX1: 82559 Detected
Configure the PHY
TC4: TCPIP setup
TC4: 31 bytes of FRAM used
TC4: Initing fram with default values
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
th12: MMC/SD init: Caching ON
th12: card type 0
th12: MMC/SD init: Caching ON
th12: card type 0
tp301: write_cache_to_disk: Failed to write to FRAM file /fram.dat
Using Fixed addresses
ip_addr: 169.254.1.2
netmask: 255.255.0.0
gateway: 169.254.1.1
dns : 0.0.0.0
TC1: OpenTCP Init
TC1: Using fixed addresses
TC1: MAC address is 58:0c:13:00:08:a3
TP185: Soft Key Assignments
TP219: Layer 1 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP219: Layer 2 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP219: Layer 3 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP176: AWS90 Remote [serial no. 2211]
px1: get_frame() restarting RU — receive buffer full
TC1: Starting IP services
TP277: Calibrating fader touch 1…16
TP277: Calibrating faders 1…16
tp167: UDP communication enabled
Software : Nucleus
Version : V2.0/2 I
Build : Mon 03 Oct 16, 10:47:36 by julianp
Unauthorised software installed on desk
Code integrity test passed.
Boot completed in 738 ticks.
SSL Nucleus 480 CPU Monitor
Thu 27 Oct 16, 10:43:29 by julianp
V1.3/0
Auto boot – Control C to abort
Code loaded from flash ok
Boot from flash
Starting
CMD>TA5: TIP app builder
Software : Nucleus
Version : V2.0/2 I
Build : Mon 03 Oct 16, 10:47:36 by julianp
TP96: No valid monitor ID found
Unauthorised software installed on desk
TH19: Firmware: V2.02
th16_bud_md_bus
th17_bud_live_bus
TF1: File system
th12: MMC/SD init: Caching ON
th12: card type 4
TF1: File system status: OK
TF1: 1925644288/1953783808 bytes free
tp301: Read 8192 bytes of FRAM data from disk (requested 8192)
TS4: Crash logger
tp86: Valid console PUR data not found
TP5: Control manager
tp299: xdaw control surface, nucleus 2
tp234_bud_centre_meters
TP226: Function lists
TP184: Soft Key Manager
TP253: CC Config
TP190: DAW config
tp226: check_function_list: current func list for Reason needs saving.
tp226: check_function_list: (Reason) about to re-save 41 funcs:
tp226: check_function_list: current func list for SoundScape needs saving.
tp226: check_function_list: (SoundScape) about to re-save 65 funcs:
tp226: check_function_list: current func list for Samplitude needs saving.
tp226: check_function_list: (Samplitude) about to re-save 65 funcs:
tp226: check_function_list: current func list for Pro Tools Standard needs saving.
tp226: check_function_list: (Pro Tools Standard) about to re-save 103 funcs:
tp226: check_function_list: current func list for Logic Standard needs saving.
tp226: check_function_list: (Logic Standard) about to re-save 65 funcs:
tp226: check_function_list: current func list for Cubase/Nuendo Standard needs saving.
tp226: check_function_list: (Cubase/Nuendo Standard) about to re-save 57 funcs:
tp226: check_function_list: current func list for Studio One Standard needs saving.
tp226: check_function_list: (Studio One Standard) about to re-save 65 funcs:
tp226: check_function_list: current func list for Live Standard needs saving.
tp226: check_function_list: (Live Standard) about to re-save 65 funcs:
PX1: Ethernet
PX1: mem map B
PX1: 82559 Detected
Configure the PHY
TC4: TCPIP setup
TC4: 31 bytes of FRAM used
Using Fixed addresses
ip_addr: 192.168.1.2
netmask: 255.255.255.0
gateway: 192.168.1.1
dns : 0.0.0.0
TC1: OpenTCP Init
TC1: Using fixed addresses
TC1: MAC address is 58:0c:13:00:08:a3
TP185: Soft Key Assignments
TP219: Layer 1 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP219: Layer 2 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP219: Layer 3 initialisation for protocol ‘NONE’
tp75: constructing CC LUT
TP176: AWS90 Remote [serial no. 2211]
px1: get_frame() restarting RU — receive buffer full
TC1: Starting IP services
px1: get_frame() restarting RU — receive buffer full
TP277: Calibrating fader touch 1…16
TP277: Calibrating faders 1…16
tp167: UDP communication enabled
Software : Nucleus
Version : V2.0/2 I
Build : Mon 03 Oct 16, 10:47:36 by julianp
Unauthorised software installed on desk
Code integrity test passed.
Boot completed in 4578 ticks.