Skip to content

Conversation

@whoisdomi
Copy link

Problem
Blind Spot Monitoring was not working on 2023-24 Hyundai Ioniq 6 despite the car having BSM hardware and comma detecting "Blind Spot Support: Yes" in Vehicle Info.

Root Cause
Wrong fingerprint message - BSM detection checked for message 0x1e5 (BLINDSPOTS_FRONT_CORNER_1) which doesn't contain the blind spot indicator signals

The original code had a logic mismatch:

Fingerprinting checked for 0x1e5:

ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
#But reading tried to get signals from 0x1ba:
ret.leftBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["FL_INDICATOR"] != 0 # 0x1ba!

Wrong signal names - Ioniq 6 uses different signals (LEFT_MB/MORE_LEFT_PROB) than other CAN FD cars (FL_INDICATOR/FR_INDICATOR) for blind spot detection

Fix
interface.py: Changed BSM fingerprinting from 0x1e5 to 0x1ba (BLINDSPOTS_REAR_CORNERS)
carstate.py: Added car-specific signal handling for Ioniq 6

Changes

interface.py - Use correct BSM message for fingerprinting

ret.enableBsm = 0x1ba in fingerprint[CAN.ECAN]

carstate.py - Ioniq 6 uses different BSM signals

if self.CP.carFingerprint in (CAR.HYUNDAI_IONIQ_6,):
ret.leftBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["LEFT_MB"] != 0
ret.rightBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["MORE_LEFT_PROB"] != 0
else:
ret.leftBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["FL_INDICATOR"] != 0
ret.rightBlindspot = cp.vl["BLINDSPOTS_REAR_CORNERS"]["FR_INDICATOR"] != 0

Tested
Verified on 2023 Hyundai Ioniq 6 with HDA II
BSM border metrics display correctly
Blind spot path overlay works
No CAN errors

Using Cabana I verified that Left Blind Spot = "LEFT_MB" and 
Right Blind Spot = "MORE_LEFT_PROB" signal names.
@github-actions github-actions bot added car related to opendbc/car/ hyundai labels Dec 18, 2025
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for contributing to opendbc! In order for us to review your PR as quickly as possible, check the following:

  • Convert your PR to a draft unless it's ready to review
  • Read the contributing docs
  • Before marking as "ready for review", ensure:
    • the goal is clearly stated in the description
    • all the tests are passing
    • include a route or your device' dongle ID if relevant

ret.alphaLongitudinalAvailable = False

ret.enableBsm = 0x1e5 in fingerprint[CAN.ECAN]
ret.enableBsm = 0x1ba in fingerprint[CAN.ECAN]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally, you'd want to match the CAN ID that carstate is using for BSM, in case certain platforms don't have anything going on with the BSM signals defined in carstate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

car related to opendbc/car/ hyundai

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants