Home Assistant Yellow

Yes I’ve had to edit config.txt to enable USB 2.0 on the CM4. For some reason it’s disabled by default. I use this addon to configure root access via SSH on port 2222.

If anyone needs it. To enable USB 2.0 Host Mode I added the following to /boot/config.txt. Without this my zigbee stick was not recognised.

dtoverlay=dwc2,dr_mode=host
1 Like

You are using the generic RPi image then (I did too initially - USB being disabled by default is a CM4 thing). The custom Yellow image has USB enabled out of the box.

I make an add-on specifically to enable USB-Host-mode Serial as well. 🆕[add-on] HassOS Serial Configurator

Screenshot_20221030-085656

Yes I know that, but I was asking why the it would be any different modifying config.txt. I know an external antenna should act differently to a PCB one.

Any raspberry pi OS has config.txt.

Ok ok, I seem to have misunderstood the question. It’s because the CM4 has been designed to only use the built in antenna on the board, unless specified differently. And as far as I know this only applies to the CM4. But as @ogiewon already stated, I’m not sure if this actually translates/works with HAOS. Here you have a blog post from Jeff Geerling that explains the process:

https://www.jeffgeerling.com/blog/2022/enable-external-antenna-connector-on-raspberry-pi-compute-module-4

Check out this site. That’s how I got mine quickly: https://rpilocator.com
Filter by CM4 and your region.

I got mine now and just migrated from my Raspi 4. It was completely painless due to this wonderful tutorial by Lewis: Getting Started With Home Assistant Yellow! - YouTube.

Highly recommend his channel in any case.

Yes that is my setup, however no time yet to test. I recommend getting a (or a few if you have a larger home) ESP32s and set them up as BT proxies: ESPHome Bluetooth Proxy That is my next to do.

Yes that would have been nice, but it doesn’t work for me. I generally only need BT for my Mi Flora sensors and they unfortunately do not play nice together with the proxies. I’ve tried different ESP32s with different proxy settings, but eventually they just turn unavailable. They work perfectly with my BT dongle. :man_shrugging:t2:

How did you configure the CM4 to use the external antenna? Did you edit the config file? And what’s roughly the range of the antenna in your home?

1 Like

ESP Home has support for MiFlora. Xiaomi Mijia BLE Sensors — ESPHome

Yes, I know. But the Mi Flora component does not support the battery sensor, since it’s passive. The battery sensor requires active BT communication.

Or the older firmware :slight_smile:

There are posts claiming otherwise, perhaps post an issue if it is not working for you.

Well when I bought them they had the old firmware and that didn’t work at all.

Already did. Could you please point me to these posts?

Edit: Never mind, found some.

Replying to myself. Samsung 980 500GB works!

➜  ~ dmesg | grep nvme
[    1.212386] nvme nvme0: pci function 0000:01:00.0
[    1.212541] nvme 0000:01:00.0: enabling device (0000 -> 0002)
[    1.221640] nvme nvme0: Shutdown timeout set to 8 seconds
[    1.237086] nvme nvme0: allocated 64 MiB host memory buffer.
[    1.609890] nvme nvme0: 4/0/0 default/read/poll queues
[    1.650561]  nvme0n1: p1
[   54.713438] EXT4-fs (nvme0n1p1): mounted filesystem with ordered data mode. Opts: commit=30. Quota mode: none.
[   54.828654] EXT4-fs (nvme0n1p1): resizing filesystem from 7455483 to 122096384 blocks
[   55.614051] EXT4-fs (nvme0n1p1): resized filesystem to 122096384


➜  ~ lspci -nnvv -s 01:00.0
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd Device [144d:a809] (prog-if 02 [NVM Express])
        Subsystem: Samsung Electronics Co Ltd Device [144d:a801]
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0
        Interrupt: pin A routed to IRQ 46
        Region 0: Memory at 600000000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [40] Power Management version 3
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [50] MSI: Enable- Count=1/32 Maskable- 64bit+
                Address: 0000000000000000  Data: 0000
        Capabilities: [70] Express (v2) Endpoint, MSI 00
                DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s unlimited, L1 unlimited
                        ExtTag- AttnBtn- AttnInd- PwrInd- RBE+ FLReset+ SlotPowerLimit 0W
                DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                        RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+ FLReset-
                        MaxPayload 128 bytes, MaxReadReq 512 bytes
                DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq- AuxPwr- TransPend-
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
                        ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed 5GT/s (downgraded), Width x1 (downgraded)
                        TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                DevCap2: Completion Timeout: Range ABCD, TimeoutDis+ NROPrPrP- LTR+
                         10BitTagComp- 10BitTagReq- OBFF Not Supported, ExtFmt- EETLPPrefix-
                         EmergencyPowerReduction Not Supported, EmergencyPowerReductionInit-
                         FRS- TPHComp- ExtTPHComp-
                         AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ 10BitTagReq- OBFF Disabled,
                         AtomicOpsCtl: ReqEn-
                LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink- Retimer- 2Retimers- DRS-
                LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance- SpeedDis-
                         Transmit Margin: Normal Operating Range, EnterModifiedCompliance- ComplianceSOS-
                         Compliance Preset/De-emphasis: -6dB de-emphasis, 0dB preshoot
                LnkSta2: Current De-emphasis Level: -3.5dB, EqualizationComplete- EqualizationPhase1-
                         EqualizationPhase2- EqualizationPhase3- LinkEqualizationRequest-
                         Retimer- 2Retimers- CrosslinkRes: unsupported
        Capabilities: [b0] MSI-X: Enable+ Count=13 Masked-
                Vector table: BAR=0 offset=00003000
                PBA: BAR=0 offset=00002000
        Capabilities: [100 v2] Advanced Error Reporting
                UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout+ AdvNonFatalErr-
                CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+
                AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn-
                        MultHdrRecCap+ MultHdrRecEn- TLPPfxPres- HdrLogCap-
                HeaderLog: 00000000 00000000 00000000 00000000
        Capabilities: [148 v1] Device Serial Number 00-00-00-00-00-00-00-00
        Capabilities: [158 v1] Power Budgeting <?>
        Capabilities: [168 v1] Secondary PCI Express
                LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                LaneErrStat: 0
        Capabilities: [188 v1] Latency Tolerance Reporting
                Max snoop latency: 0ns
                Max no snoop latency: 0ns
        Capabilities: [190 v1] L1 PM Substates
                L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+ ASPM_L1.1+ L1_PM_Substates+
                          PortCommonModeRestoreTime=10us PortTPowerOnTime=10us
                L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                           T_CommonMode=0us LTR1.2_Threshold=25600ns
                L1SubCtl2: T_PwrOn=10us
        Kernel driver in use: nvme

Oh ok. that ain’t good. In fact I have a bunch of Miflora sensors which I connect via Plantgateway running on a Pi Zero and another Pi. It works generally well but I was planning to move to the BT Proxy solution soon because then I don’t have to deal with the MQTT workaround and can connect them directly to HA. Also what is annoying that when you restart the HA it takes quite a while until the plant gateway sends data again (if you don’t trigger manually). I guess I will try it and see if it works as I already have the ESPs lying around.

@hesspoint Interresting, didn’t know that this existed. I personally use MQTT quite a lot, especially for my Zigbee network. So that wouldn’t bother me at all, perhaps I’ll try this as well.

Feel free to get back with an update on how your BT proxy experience was/is. :wink:

Hi Jump, just started using my Yellow, great device. The problem I have is that the zigbee radio seems very weak. Only works at a 2-3 meters. When I plug in the sonoff zigbee stick I get range of 15 m

2 Likes