HASS.IO -> transfer from SD card to SSD or USB

Booting from SSD is still ‘hit or miss’ for me. I use Raspberry Pi 3B+ with Kingston A400 + Sabrent adapter. After updating HA or rebooting HA, sometimes it does not boot (most of the time it does). When unplugging the adapter (2,5A original) most of the time the first boot does nothing. After unplugging again and replugging it boots most of the time normally. I do not understand what this behavious gets created from so I would hope that you understand why this is happening. I am using Core 0.176 and OS 4.16. I have no SD-card plugged in.

Anyone ideas?

Thanks in advance,

SilentScreamer

The first thing I think of is that there is not enough power for the SSD and the Pi together, although a SSD should not draw so much.
You can see this if you attach a monitor and look if the yellow flash is showing in the upper right corner. But this will be not at the beginning of the boot I think.

Thanks for your reply!

If that is the case, why would it boot the second time fine do you think? It does not seem that logical, since loads of Pi users are using this setup :slight_smile:

Good question, I have no clue.

Dear all,

I have tried to migrate from SD to SSD, and finally I turn back to SD.

I have the following external devices:

  1. PI 4 4 GB ram.

  2. ConBee II Zigbee USB dongle.

  3. Sigma Designs Zwave Plus USB dongle.

These devices workks without problem with HA system 32 bits on SD.

For the migration I bought:

  1. ELUTENG Cables USB to SATA for 2.5 SATA SSD/HDD

  2. Crucial BX500 240 GB CT240BX500 SSD disk

The tutorial for the migration that I try was: https://community.home-assistant.io/t/installing-home-assistant-on-a-rpi-4b-8gb-with-ssd-boot/230948

With this tutorial I installed the HA version: hassos_rpi4-64-5.5.img.gz but I tried also the version hassos_rpi4-64-5.3.img.gz.

When I restore my last snapshot from the old system (32 bits), HA starts without problem from the SSD but with the following problems:

  1. My Sigma Designs - Z-Wave Plus USB dongle dont works, then all my zwave devices are misssing and I can’t start from scratch because I can’t add devices, delete old devices, etc. I tried to connect the zwave usb dongle to a extension USB cable and don’t works. Change the port from USB 3 to USB 2 and don’t works… The zigbee dongle works well and I can see all my zigbee devices.

  2. HACS integration don’t starts, and I need to unistall and install another time.

  3. AEMET integration don’t works

  4. The system is not fast than with SD card, proably because all the erros when starts. The upload time in browser for the Web UI is very slow, probably about 30 seconds or more. I deleted the database according with some tutorials, but this solve some errors, but the starting time to load the web interface is the same.

example of errors:

2020-11-14 04:19:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for variable which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for nodered which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for badnest which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:39 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for smartir which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:44 WARNING (MainThread) [homeassistant.components.climate] ClimateDevice is deprecated, modify NestClimate to extend ClimateEntity
2020-11-14 04:19:45 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for bwalarm which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-11-14 04:19:48 ERROR (MainThread) [custom_components.smartir] An error occurred while checking for updates.
2020-11-14 04:19:53 WARNING (MainThread) [homeassistant.components.broadlink.switch] The switch platform is deprecated, except for custom IR/RF switches. Please refer to the Broadlink documentation to catch up
2020-11-14 04:20:14 WARNING (SyncWorker_19) [homeassistant.components.bluetooth_le_tracker.device_tracker] No Bluetooth LE devices to track!
2020-11-14 04:20:14 ERROR (MainThread) [homeassistant.components.device_tracker] Error setting up platform legacy
2020-11-14 04:20:16 ERROR (MainThread) [homeassistant.components.calendar] google: Error on device update!
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 357, in _async_add_entity
await entity.async_device_update(warning=False)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 466, in async_device_update
await task
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/google/calendar.py", line 106, in update
self.data.update()
File "/usr/src/homeassistant/homeassistant/util/__init__.py", line 239, in wrapper
result = method(*args, **kwargs)
File "/usr/src/homeassistant/homeassistant/components/google/calendar.py", line 175, in update
result = events.list(**params).execute()
File "/usr/local/lib/python3.8/site-packages/oauth2client/_helpers.py", line 133, in positional_wrapper
return wrapped(*args, **kwargs)
File "/usr/local/lib/python3.8/site-packages/googleapiclient/http.py", line 842, in execute
raise HttpError(resp, content, uri=self.uri)
googleapiclient.errors.HttpError: <HttpError 404 when requesting https://www.googleapis.com/calendar/v3/calendars/616jclechijai43018fn6rr4m57e0mio%40import.calendar.google.com/events?orderBy=startTime&maxResults=5&singleEvents=true&timeMin=2020-11-14T04%3A20%3A16.480347%2B01%3A00&alt=json returned "Not Found">
2020-11-14 04:21:36 ERROR (MainThread) [metno] https://aa015h6buqvih86i1.api.met.no/weatherapi/locationforecast/2.0/complete returned Cannot connect to host aa015h6buqvih86i1.api.met.no:443 ssl:default [Name does not resolve]
2020-11-14 04:21:37 ERROR (MainThread) [metno] https://aa015h6buqvih86i1.api.met.no/weatherapi/locationforecast/2.0/complete returned Cannot connect to host aa015h6buqvih86i1.api.met.no:443 ssl:default [Name does not resolve]
2020-11-14 06:44:44 ERROR (MainThread) [homeassistant.helpers.entity] Update for climate.dining_room_thermostat fails
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 278, in async_update_ha_state
await self.async_device_update()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 474, in async_device_update
raise exc
File "/usr/local/lib/python3.8/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/badnest/climate.py", line 325, in update
self.device.update()
File "/config/custom_components/badnest/api.py", line 210, in update
for bucket in r.json()["updated_buckets"]:
File "/usr/local/lib/python3.8/site-packages/requests/models.py", line 898, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/local/lib/python3.8/site-packages/simplejson/__init__.py", line 525, in loads
return _default_decoder.decode(s)
File "/usr/local/lib/python3.8/site-packages/simplejson/decoder.py", line 370, in decode
obj, end = self.raw_decode(s)
File "/usr/local/lib/python3.8/site-packages/simplejson/decoder.py", line 400, in raw_decode
return self.scan_once(s, idx=_w(s, idx).end())
simplejson.errors.JSONDecodeError: Expecting value: line 2 column 1 (char 1)
2020-11-14 08:09:37 ERROR (MainThread) [metno] https://aa015h6buqvih86i1.api.met.no/weatherapi/locationforecast/2.0/complete returned Cannot connect to host aa015h6buqvih86i1.api.met.no:443 ssl:default [Name does not resolve]
2020-11-14 09:27:15 ERROR (MainThread) [homeassistant] Error doing job: Unclosed connection
2020-11-14 10:01:13 ERROR (MainThread) [homeassistant] Error doing job: Unclosed connection

For these reasons I decided to turn back to SD and wait to a stable version.

This was my experience with the migtration…

Nightmare is back. Something is wrong but I can’t seem to be able to corral the problem. I’m going to move all my environment to a NUC and see if that addresses the problem.

There is no logfile that I know of, providing me with insights into what may problem is. I may be overlooking some logfile that I’m not aware of.

If anybody can help me troubleshoot this further, I would appreciate it.

I have also Sabrent usb3.0 Sata-usb converter. Same thing happened to me. It is not about Hassio. It acts same with Rasberry OS. For power considerations, I spliced the usb cable and gave 5V directly to Sabrent. When powering sabrent after boot screen gives error, it always works!

So I concluded that it is a compatibility issue, specially a powering timing issue.

And bought the cheapest usb3.0 - sata converter (the ones without a case). It works like a charm. It always boots, in any OS that is compatible to SSD.

So, buy another usb-sata converter and test that. Probably your problem will be solved.

1 Like

hello i have the same problem with my adapter Ugreen ,
Please, Can you put an image of your adapter with the modification that you did ?
Thanks a lot

Sabrent SSD box is in the office right now. And due to pandemic, in my country, it is illegal to get out at weekends. So I can send a photo on Monday.

But the procedure is pretty simple. I cut the cable’s outer shell, found the black and red cables. Black is ground. Red is +5V.

If you are going to power ssd with raspberry’s own power, then there is no need to temper with the ground cable. Only thing you need to do is cut the red cable and connect the ssd side of it to the same 5V input of raspberry.

But if you plan to power the ssd with another power supply (like a phone charger), than Charger’s ground and raspberry’s ground should be connected. Easy way for it is peeling off the black wire, connecting a wire there and connect the other end to the ground of raspberry’s input.

If you connect the power (+5V) after raspberry tries to boot, my usb-ssd adapter always work.

But this effort does not worth it. Because the cheapest usb3.0 converter I bought in the local store worked like a charm without any modifications. It does not even have a brand. :grinning:

It is this one: https://tr.aliexpress.com/item/4001075130228.html?spm=a2g0o.productlist.0.0.3c0f33a3fbhRDu&algo_pvid=ae101049-907a-4860-8230-bd5c4afde959&algo_expid=ae101049-907a-4860-8230-bd5c4afde959-0&btsid=0bb0622e16071242457372908e9fcc&ws_ab_test=searchweb0_0,searchweb201602_,searchweb201603_

After 2.5 hours, I finally got it to work.

Device: Raspberry Pi 2 Model B Rev 1.1
Type: a3ssd
HDD: Crucial BX500 240GB
Adapter: Seagate Backup Plus dock (originally for 3.5" 1TB HDD)

Instructions:

  • Flash hassos_rpi2-4.19.img.gz to the SSD using balenaEtcher.
  • Copy bootcode.bin to an empty FAT32 formatted SD card.
  • Insert the SD card in the Raspberry Pi 2.
  • Connect the SSD to the Raspberry Pi 2.
  • Power up the Raspberry Pi 2.
  • Wait 10-20 minutes for Home Assistant to boot.

Well i’ve been reading for hours but have lost track of all the ways to connect a USB to a Rpi 4B.
I still don understand the current status of the SSD over USB support.

I’m currently running Hassos from an image I flashed on a SD (Supervisor 2020.12.6 and HA 4.16).
Is USB boot now native supported or do I still need to jump through hoops to get this working?

In other words, can I just flash the default image HA offers to a SSD, plug it into a USB-3 port?

I have used this guide: Installing Home Assistant on a RPi 4b 8GB with SSD boot which was clear to me. In 2 hours was running on SSD with restored configuration.
My understanding is that officially Raspberry is making boot from SSD connected to USB (EEPROM needs to updated) on RPi 4. Home Assistant official OS version does NOT support it and you need to use beta version 5.x in order to use it.

2 Likes

I think I rather stick to the stable versions, I want the least headache possible because thats the reason I want to run it from a SSD in the first place.

So I guess best way to do this now is the way @miguelrochefort did it…Just copy a bootcode.bin to a SD card, seems pretty straightforward to me?

Version 5.7 is marked as RC. :slight_smile:

I have been using Rpi4 boot SSD since version 5.0.
Despite all the versions released, I’m today at version 5.7 and I haven’t had any problems with HassOS all along.

So have I.
Not all SSDs and adaptors are compatible though and I guess this will not change with the stable version.

Well I guess I’m going to give it a try first then…

1 Like

I don‘t think that the SSD will be the problem, it is always the controller that the Pi don‘t like.

I thought so too in the beginning. But many comments on my RPi4 SSD boot installation guide told me otherwise.

Looks like 5.8 was just released as stable production.