SSL Nucleus debug interface

Just a few technical notes on debugging the SSL Nucleus (mk1) through serial port. I will enventually update this article with additional commands tests.

Playing with the LCD driver

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.

CommandShort descriptionDescription
TP220_3Daw channels layer 3 diagsuntested
ALLOC_3DAW allocatoruntested
TP220_2Daw channels layer 2 diagsuntested
ALLOC_2DAW allocatoruntested
ACTIVEPtoosl active senduntested
TP220_1Daw channelslayer 1 diagsuntested
ALLOC_1DAW allocatoruntested
TP180Soft key diaguntested
TP186Layer Controluntested
TP215Control GroupsList all internal states for all DAW sync-ed items (faders, buttons, pots, etc.).
TP177UDP midiuntested
IPTCPIP Diagsuntested
ETHerPX1 Ether Diagsuntested
DAWDAW Configuntested
CCCCC configuntested
SOKSSoft key diaguntested
FLISTfunction listsuntested
TP234centre metersSetup 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.
TP199USB KBD functionsuntested
SVEN27 seg diagShows a 2 letter text on the center « MODE » 7 segments display.
SURFctrl surface diagsuntested
TP5Control manageruntested
TP86Power up restoreuntested
LOGLoggingDumps the last boot message (see below)
FRAMFRAM cmdsuntested
FSFile systemuntested
RTCReal Time Clockuntested
USBUSB kbd diagsuntested
TH6SPI Accessuntested
TH17675 Live Busuntested
TH16MD Busuntested
REPDiagsuntested
TH18_0LCD DriversA set of commands to display text on the left/right two lines LCD
TH19Firmware revisionShows the firmware revision « FPGA Firmware version is : V2.01 »
INTEGcheck code integrityCheck the OS integity, supposed to show « Code integrity test passed. »
CRASHcrash systemuntested
VERSW versionShows the software version: « Software : Nucleus
Version : V1.6/2 I
Build : Tue 17 Jun 14, 15:59:17 by alanj »
GFlip back to the trusty « G » interpreter; same asuntested
DEBUGStuff which should probably be somewhere elseuntested
HELPHeap diagsuntested
MOSOperating system diagnosticsuntested
FILESShow file task idsuntested
REPortDiagnostic reportinguntested
List of commands

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.

3 réponses sur “SSL Nucleus debug interface”

  1. 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.

    1. 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.

      1. 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.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *