Quad SATA HAT Assembly and Troubleshooting

  1. Watch the video below once before assembling, but don’t do it all at once
    https://www.youtube.com/watch?v=xz-AhmjiTu8&feature=youtu.be

  2. When you have finished assembling the hard drive, boot up the system and install the support software to make sure the hard drive is well connected


    curl -sL https://rock.sh/get-rockpi-sata | sudo -E bash -

    When you run the above command to complete the software installation, executing lsusb should see the following output

  3. Connect the top board and reboot
    If the screen and fan work, turn off the power and install the case.


    If the screen does not work, install i2c-tools and check below
    sudo apt-get install i2c-tools
    sudo i2cdetect -y 1

    If you can see 3c in the blue box above, the connection between the SATA Hat and the top board is good, and maybe the screen is broken.
    If you cannot see the 3c, replug to make sure the connection is good.

2 Likes

after updating raspi to the latest public kernel and firmware, oled stops working… the 1.20200717-1 version of raspi firmware and kernel…

edit: do not update to kernel v5.4.51, stay at v4.19.118… the i2c and display modules are all not updated for v5 kernel and oled will stop working… for those that accidentally updated (like me), use sudo rpi-update e1050e94821a70b2e4c72b318d6c6c968552e9a2 to get back to v4.19.118…

same here after update Rasbian no more display

After the update, I just found that the kernel stable release is v5.4.51. I will try to make it work.

It has been fixed that the screen does not work on kernel 5.4.51

sudo pip3 uninstall Adafruit-GPIO
curl -sL https://rock.sh/get-rockpi-sata | sudo -E bash -

This is what i got… oled still not working…

Traceback (most recent call last):
File “setup.py”, line 3, in
from setuptools import setup, find_packages
ModuleNotFoundError: No module named ‘setuptools’
(Reading database … 60188 files and directories currently installed.)
Preparing to unpack /tmp/tmp.qDqoMZ3YYc …
Removed /etc/systemd/system/multi-user.target.wants/rockpi-sata.service.
Unpacking rockpi-sata (0.14) over (0.14) …
Setting up rockpi-sata (0.14) …
Created symlink /etc/systemd/system/multi-user.target.wants/rockpi-sata.service → /lib/systemd/system/rockpi-sata.service.

EDIT: apparently setuptools was not included into the original python install… did this"sudo apt-get install python3-setuptools" to get the setuptools, and re-ran the setup command and it worked…

1 Like

Thanks for the tip that need to install python3-setuptools. I added it to the installation script.

1 Like

No worries! Helping the community! :slight_smile:

Thank you for fast update

Updated but seem not working for me

 sudo i2cdetect -y 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- 3c -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- 51 -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Try this:

  1. wget https://cos.setf.me/rockpi/pypi/Adafruit_SSD1306-v1.6.2.zip
  2. unzip Adafruit_SSD1306-v1.6.2.zip
  3. cd Adafruit_SSD1306-v1.6.2
  4. sudo python3 setup.py install
  5. sudo reboot

edit: if you get some error about setuptools, do this first: sudo apt-get install python3-setuptools

Please tell me the result of the following command, and the printing of installation process:

sudo python3 /usr/bin/rockpi-sata/oled.py

Traceback (most recent call last):
  File "/usr/bin/rockpi-sata/oled.py", line 28, in <module>
    disp = disp_init()
  File "/usr/bin/rockpi-sata/oled.py", line 22, in disp_init
    disp = Adafruit_SSD1306.SSD1306_128_32(rst=None)
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306/SSD1306.py", line 288, in __init__
    gpio, spi, i2c_bus, i2c_address, i2c)
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306/SSD1306.py", line 85, in __init__
    self._gpio = GPIO.get_platform_gpio()
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO/GPIO.py", line 420, in get_platform_gpio
    import Adafruit_BBIO.GPIO
ModuleNotFoundError: No module named 'Adafruit_BBIO'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/rockpi-sata/oled.py", line 32, in <module>
    disp = disp_init()
  File "/usr/bin/rockpi-sata/oled.py", line 22, in disp_init
    disp = Adafruit_SSD1306.SSD1306_128_32(rst=None)
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306/SSD1306.py", line 288, in __init__
    gpio, spi, i2c_bus, i2c_address, i2c)
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_SSD1306/SSD1306.py", line 85, in __init__
    self._gpio = GPIO.get_platform_gpio()
  File "/usr/local/lib/python3.7/dist-packages/Adafruit_GPIO/GPIO.py", line 420, in get_platform_gpio
    import Adafruit_BBIO.GPIO
ModuleNotFoundError: No module named 'Adafruit_BBIO'

You need to uninstall Adafruit-GPIO first.

@setq do you want to add the uninstall portion into the install script so that it is easier and more comprehensive?

Has been added to the installation script. Thanks.

Working Fine now, thank you

Hi setq,
I am having some trouble with my quad sata hat/kit, so I figured this would be the place to ask for help :wink:

I am currently trying to mount a SanDisk SSD Plus 1TB using the Sata hat. I properly partitioned the drive using my thinkpad running ubuntu and parted and connecting the drive using a cheap usb to sata cable. The drive works without issue, both on the thinkpad and on the pi without using the quad sata hat (using the same cable as with the laptop). However, when I connect the drive using the sata hat mounting takes a really long time and results in an error: can’t read superblock on sda1. You can check out the screenshot I made (you can see my rookie mistake of not creating the folder to mount the drive in as well!). When I try to mount the HDD from my old 2011 macbook everything works fine (after installing exfat-fuse).

Do you have any advice? While I do daily drive ubuntu, I am by no means a linux expert. I should find my way around with some guidance.

@besetzt

Try to run

sudo fsck /dev/sda1

Thanks for the reply! Here is the output:

pi@raspberrypi:~ $ sudo fsck /dev/sda1
fsck from util-linux 2.33.1
e2fsck 1.44.5 (15-Dec-2018)
fsck.ext2: Input/output error while trying to open /dev/sda1

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem. If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193
or
e2fsck -b 32768

I also tried to ran the suggested e2fsck -b 8193 /dev/sda1 command but this did not produce output even several hours later, so I stopped that.
In the meantime I have repartitioned and reformatted the drive and can reconfirm again that it is working on my ubuntu 20.04 thinkpad and directly attached to the pi. I have also tried a different sata port on the hat (port 3 instead of 1) to rule out that one of the two controllers is to blame. No difference.
This leads me to think there is something wrong with the sata hat, either in hardware or software. Maybe I should do a fresh setup of raspberry lite os and reinstall the get-rockpi-sata script? Would it help to use a different OS, maybe ubuntu server?