Skip to content

Instantly share code, notes, and snippets.

@mdouchement
Last active June 14, 2025 13:39
Show Gist options
  • Select an option

  • Save mdouchement/205bcc4952d063659dc1af4e23285f47 to your computer and use it in GitHub Desktop.

Select an option

Save mdouchement/205bcc4952d063659dc1af4e23285f47 to your computer and use it in GitHub Desktop.

Revisions

  1. mdouchement revised this gist Nov 11, 2020. 1 changed file with 61 additions and 13 deletions.
    74 changes: 61 additions & 13 deletions steam-link.md
    Original file line number Diff line number Diff line change
    @@ -1,5 +1,9 @@
    # Steam link

    ## Factory reset

    Create the file `factory_reset.txt` with `1` value inside on a FAT32 USB drive and booting the Link with it plugged in.

    ## Enable SSH

    Create the `/steamlink/config/system/enable_ssh.txt` empty file on a FAT32 USB drive and booting the Link with it plugged in.
    @@ -8,21 +12,65 @@ You can now connect to your Steam Link using SSH:
    - username: `root`
    - password: `steamlink` or `steamlink123`

    > Change with `passwd` the password after first login or use factory reset or remove `/mnt/config/system/enable_ssh.txt` to disable SSH.
    > Change with `passwd` the password after first login or remove `/mnt/config/system/enable_ssh.txt` to disable SSH.
    ## Services

    All the services are launched from `/etc/init.d/startup`

    ### Disabling bluetooth

    Edit the file `/etc/init.d/startup/S13bluetooth.sh` and comment the last line:
    ```sh
    #!/bin/sh

    FACTORY_DIR=/mnt/factory_setting
    BT_MAC_FILE=${FACTORY_DIR}/BT_MAC_ADDR
    BT_CAL=mrvl/BTCalData_sd8897.conf

    get_bt_mac_address() {
    # Get mac address from file and insert semicolons between octets:
    # 021122334455 => 02:11:22:33:44:55
    cat $BT_MAC_FILE | sed -r 's/(..)(..)(..)(..)(..)(..)/\1:\2:\3:\4:\5:\6/'
    }


    # Bluetooth
    # note: the bluetooth module must be insmod'ed after wifi or else the
    # chip firmware is not loaded properly and bluetooth will fail to work
    if [ -f "${BT_MAC_FILE}" ]; then
    BG_MAC_ARG="bt_mac=$(get_bt_mac_address)"
    else
    echo "warning bluetooth mac address file not found: ${BT_MAC_FILE}"
    fi

    echo "modprobe bt8xxx ${BG_MAC_ARG} cal_cfg=${BT_CAL} psmode=0"
    modprobe bt8xxx ${BG_MAC_ARG} cal_cfg=${BT_CAL} psmode=0

    #/etc/init.d/bluetooth.sh &
    ```

    We can't simply remove `/etc/init.d/startup/S13bluetooth.sh` because `S15audio.sh` relies on it using BlueALSA backend.


    ## Tunning
    ### Bandwith

    ```sh
    cd /mnt/config/system
    echo "--hardwarebitratelimit 50000" > streaming_args.txt

    ## Disable services
    echo "CAMQABgAIAAoADCgjQZAAA==" > streaming_settings.b64
    base64 -d streaming_settings.b64 > streaming_settings.bin
    rm streaming_settings.b64
    ```

    `/etc/init.d/startup` contains all the scripts used to startup services.
    You can move some of these scripts to a folder like `/etc/init.d/startup_disabled` so they will no longer loaded at startup.
    Binary file has been dumped using:
    ```sh
    base64 streaming_settings.bin
    CAMQABgAIAAoADCgjQZAAA==
    ```

    Here an example of what I disabled:
    ```s
    # cd /etc/init.d/startup_disabled
    # ls -alh
    total 11
    drwxr-xr-x 1 root root 4.0K Nov 11 12:43 .
    drwxr-xr-x 1 root root 4.0K Nov 11 12:43 ..
    -rwxr-xr-x 1 root root 770 Nov 11 12:43 S10wifi
    -rwxr-xr-x 1 root root 98 Nov 11 12:44 S12wpa_supplicant.sh
    > https://mcd1992.blogspot.com/2015/10/removing-steam-link-bandwidth-limit.html
    -rwxr-xr-x 1 root root 780 Jan 1 1970 S13bluetooth.sh
    ```
  2. mdouchement created this gist Nov 11, 2020.
    28 changes: 28 additions & 0 deletions steam-link.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    # Steam link

    ## Enable SSH

    Create the `/steamlink/config/system/enable_ssh.txt` empty file on a FAT32 USB drive and booting the Link with it plugged in.

    You can now connect to your Steam Link using SSH:
    - username: `root`
    - password: `steamlink` or `steamlink123`

    > Change with `passwd` the password after first login or use factory reset or remove `/mnt/config/system/enable_ssh.txt` to disable SSH.
    ## Disable services

    `/etc/init.d/startup` contains all the scripts used to startup services.
    You can move some of these scripts to a folder like `/etc/init.d/startup_disabled` so they will no longer loaded at startup.

    Here an example of what I disabled:
    ```s
    # cd /etc/init.d/startup_disabled
    # ls -alh
    total 11
    drwxr-xr-x 1 root root 4.0K Nov 11 12:43 .
    drwxr-xr-x 1 root root 4.0K Nov 11 12:43 ..
    -rwxr-xr-x 1 root root 770 Nov 11 12:43 S10wifi
    -rwxr-xr-x 1 root root 98 Nov 11 12:44 S12wpa_supplicant.sh
    -rwxr-xr-x 1 root root 780 Jan 1 1970 S13bluetooth.sh
    ```