G-RAID Studio

Iš Žinynas.
00:46, 11 kovo 2026 versija, sukurta \dev\null (Aptarimas | indėlis) (Naujas puslapis: Vaizdas:Screenshot 2026-03-11 at 00.45.20.png G-Technology G-RAID Studio Thunderbolt 2 = Prijungimas Linux'e = Į /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT arba /etc/k...)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)
Jump to navigation Jump to search

Screenshot 2026-03-11 at 00.45.20.png

G-Technology G-RAID Studio Thunderbolt 2


Prijungimas Linux'e

Į /etc/default/grub GRUB_CMDLINE_LINUX_DEFAULT arba /etc/kernel/cmdline rekia pridėti

iommu=pt

Pririšam thunderbolt'ą:

boltctl list
boltctl enroll <UUID>

Pvz.:

boltctl enroll 00000000-0000-0018-0004-d4032e54e050

Žiūrim ar atsiranda devaisas:

dmesg -w

Jeigu viskas ok ir buvo pakonfigytas ant JBOD, turėtų atsirasti diskai:

lsblk

Jeigu neatsirado toliau žiūrime dmesg kodėl..

Papildoma info

c9:00.0 SATA controller: Marvell Technology Group Ltd. 88SE9230 PCIe 2.0 x2 4-port SATA 6 Gb/s RAID Controller (rev 11)

Controlleris taip pat exposina management console, kurios dar nepriveikiau...

lsscsi -g
 [2:0:0:0]    process Marvell  Console          1.01  -          /dev/sg2 
apt install sg3-utils
sg_inq /dev/sg2

Standarinės siunčiamos komandos grąžina statusą failed. Reikia tolimesnio tyrimo.

Reverse Engineered info

Standartinis softas veikia kaip web aplikacija bet turi įrankį, kuris yra pacompilintas ant i386 ir tikrai ant naujų macOS neveiks, nebent turint seną macOS relyzą su mac'u kuriame yra TB2 portai galima pajungti ir išsiaškinti. Tas įrankis naudojamas backende atlikti visus juodus darbus, kuriuos vartotojas nurodo per tą web ui:

G-SPEED Studio Software Utility.app/Contents/Resources/XMLBase/cli_exeMod: Mach-O executable i386


Atvirkštine inžinerija išsiaiškinta šios detalės:

G-SPEED Studio CLI Notes

This document explains how to use the bundled Promise/G-SPEED command line utility to:

 * identify physical disks
 * list physical disks
 * map UI disk labels to CLI disk IDs
 * change disk mode between unconfig and passthru
 * perform a few related physical-drive operations

It is based on the software bundle in this repository, especially:

 * G-SPEED Studio Software Utility.app/Contents/Resources/XMLBase/cli_exeMod
 * the web UI code that calls physical-drive APIs

Important terms

 * PD ID: Physical Drive ID used by backend/API/CLI operations.
 * pdi_FlatId: Internal drive ID field used by the web UI data model.
 * PassThru: What this software uses as the JBOD-like mode for a drive.
 * Unconfigured: A drive that is not currently passed through and not in an array.

Important warning about numbering

There are two different representations in this software:

 * Internal/backend ID: pdi_FlatId
 * Human-facing detail label: PD <id+1>

That means:

 * if the UI detail page says PD 1, the backend ID may actually be 0
 * if the physical drive list shows a raw numeric ID column, that raw numeric value is the one to trust for backend and CLI work

The web UI code confirms this:

 * the physical drive list uses item.pdi_FlatId
 * the detail view displays PD  plus getId()+1

Utility location

Bundled CLI binary:

"/Users/devnull/Projects/G-Drive/G-SPEED Studio Software Utility.app/Contents/Resources/XMLBase/cli_exeMod"

Short shell variable for convenience:

CLI="/Users/devnull/Projects/G-Drive/G-SPEED Studio Software Utility.app/Contents/Resources/XMLBase/cli_exeMod"

Platform note

The bundled cli_exeMod in this repository is a Mach-O i386 binary. On an arm64 Mac it may not run directly unless the proper compatibility layer is available. The commands below document the intended usage from the bundled help text and the surrounding application code.

How the software changes JBOD mode

The web UI does not call a special jbod command.

It changes a physical drive's configuration state through the backend method:

 * setPhyDrvSettings

When switching a drive into JBOD-like mode, it sets:

 * pdsp_Flags = "PassThru"

The equivalent CLI operation is:

$CLI phydrv -a mod -p <PD_ID> -s "config=passthru"

To switch back:

$CLI phydrv -a mod -p <PD_ID> -s "config=unconfig"

Basic discovery workflow

Recommended order:

 - List physical drives.
 - Identify the correct PD ID.
 - Confirm whether the drive is already Unconfigured or PassThru.
 - Change the mode only for the target drive.
 - Re-list drives to verify the new state.

List physical drives

Basic listing:

$CLI phydrv

Explicit list action:

$CLI phydrv -a list

Verbose listing:

$CLI phydrv -v

List all SCSI devices instead of only disks:

$CLI phydrv -a list -l all

What to look for in output:

 * Physical Drive ID
 * model
 * slot/location
 * current status
 * array membership
 * current configuration status such as Unconfigured or PassThru

Identify the correct PD ID

From the web UI

Use the Physical Drives page.

The first numeric ID column comes from the raw internal field:

 * pdi_FlatId

That is the best candidate for CLI/API work.

Do not rely only on a detail screen label like PD 1, because the detail screen may display id+1 for humans.

From CLI output

Use:

$CLI phydrv -v

The bundled help text indicates the output includes physical drive information and refers to Physical Drive Id.

Once you have the printed Physical Drive ID, use that exact number with -p.

Locate a drive physically

Blink the LED for one disk:

$CLI phydrv -a locate -p <PD_ID>

Example from the bundled help:

$CLI phydrv -a locate -p 9

Use this before changing mode if you need to confirm the exact tray/slot.

Change a drive to JBOD-like mode

In this software, JBOD-like mode means PassThru.

Command:

$CLI phydrv -a mod -p <PD_ID> -s "config=passthru"

Example:

$CLI phydrv -a mod -p 9 -s "config=passthru"

Expected use:

 * drive should currently be Unconfigured
 * drive should not be part of an active array

After changing mode, verify:

$CLI phydrv -v

Change a drive back from PassThru

To return a passed-through drive to Unconfigured:

$CLI phydrv -a mod -p <PD_ID> -s "config=unconfig"

Example:

$CLI phydrv -a mod -p 9 -s "config=unconfig"

This is also what the web UI does when converting a PassThru disk back to Unconfigured.

Change drive alias

The CLI help says alias can only be set on a configured drive.

Example:

$CLI phydrv -a mod -p <PD_ID> -s "alias=MyDisk"

Do not assume alias changes are allowed in Unconfigured or PassThru state.

Other physical-drive operations

Force a drive offline:

$CLI phydrv -a offline -p <PD_ID>

Force a drive online:

$CLI phydrv -a online -p <PD_ID>

Clear PFA:

$CLI phydrv -a clear -p <PD_ID> -t pfa

Clear stale config:

$CLI phydrv -a clear -p <PD_ID> -t staleconfig

These are riskier than listing/locating and should be used only when you are sure about the drive state.

Global SATA/SAS drive settings

The CLI also supports global settings on SATA/SAS drives through phydrv -a mod, for example:

$CLI phydrv -a mod -s "writecache=enable,rlacache=enable"

Drive-type-specific scope:

 * -d sata
 * -d sas
 * -d all

Examples:

$CLI phydrv -a mod -d sata -s "writecache=enable" $CLI phydrv -a mod -d sas -s "readcache=enable,multipath=enable"

These are global settings for drives of that type, not a single-disk mode switch.

Arrays and PD IDs

The CLI help for array creation uses PD IDs directly:

$CLI array -a add -p 1,3,5~9 -l "raid=5,capacity=50gb,stripe=256kb"

This matters because it confirms that:

 * the same PD ID namespace is used across physical-drive and array commands
 * the IDs you discover in phydrv are the IDs you would use when creating arrays

Safe operating procedure

Before changing a disk to PassThru:

 - List all drives with phydrv -v.
 - Record the target drive's PD ID, slot, model, and current config state.
 - If needed, run phydrv -a locate -p <PD_ID> to confirm the tray.
 - Ensure the drive is not part of an active array you care about.
 - Run phydrv -a mod -p <PD_ID> -s "config=passthru".
 - Re-run phydrv -v and confirm the new state.

Common examples

List drives:

$CLI phydrv -v

Locate drive 4:

$CLI phydrv -a locate -p 4

Convert drive 4 to PassThru:

$CLI phydrv -a mod -p 4 -s "config=passthru"

Convert drive 4 back to Unconfigured:

$CLI phydrv -a mod -p 4 -s "config=unconfig"

Clear stale configuration on drive 4:

$CLI phydrv -a clear -p 4 -t staleconfig

What the web app code confirms

Relevant behavior found in the application code:

 * Physical drive IDs come from pdi_FlatId.
 * UI detail display uses PD <id+1>.
 * The physical-drive settings panel offers Unconfigured and PassThru.
 * Saving those settings issues backend setPhyDrvSettings.
 * Advanced configuration code also toggles drives through setPhyDrvSettings.

Limitations of this note

 * This document is based on bundled help text and code inspection.
 * The cli_exeMod binary in this repository was not executed successfully on the current arm64 host during this review.
 * If you run this on the original supported platform, verify syntax with:

$CLI help phydrv

or:

$CLI phydrv -h