Skip to content

i2c/i2c-device-detect fails with Operation not pemitted #1435

@jocave

Description

@jocave

Bug Description

The i2c/i2c-device-detect job used to be able to run on the machines testing the intel-iotg-kernel snap on UC22 and produce a "real" outcome. However, recent runs have not produced a proper test of i2c device detection because of a permissions problem.

It seems likely that this could be some problem in the way checkbox is delivered as a snap and how snapd still impacts execution even when installed in devmode

To Reproduce

Run a snap-testing job from jenkins e.g.:
http://10.102.156.15:8080/job/cert-austin-charlotte-001-intel-iotg-kernel-22-beta/

This implies checkbox running using remote mode and on the DUT side checkbox installed from a snap

Environment

OS: UC22
checkbox type: snap
testing: i2c

Relevant log output

https://certification.canonical.com/hardware/202310-32170/submission/387731/
https://certification.canonical.com/hardware/202110-29509/submission/387737/
https://certification.canonical.com/hardware/202109-29492/submission/387739/

Additional context

Connecting to one of these machines in the lab and running the same test using a run invocation allows the job to be run seccussfully:

ubuntu@ubuntu:~$ checkbox-iiotg.checkbox-cli run com.canonical.certification::i2c/i2c-device-detect
Skipped file: /snap/checkbox-iiotg/69/providers/plainbox-provider-checkbox/units/stress/suspend_cycles_reboot.md
===========================[ Running Selected Jobs ]============================
==============[ Running job 1 / 3. Estimated time left: 0:03:21 ]===============
-----------------------------[ Hardware Manifest ]------------------------------
ID: com.canonical.plainbox::manifest
Category: com.canonical.plainbox::info
... 8< -------------------------------------------------------------------------
Skipped file: /snap/checkbox-iiotg/69/providers/plainbox-provider-checkbox/units/stress/suspend_cycles_reboot.md
ns: com.canonical.contrib
name: checkbox-provider-ce-oem
has_button: 
has_buzzer: 
has_caam: 
has_mcrc_engine: 
has_sa2ul_engine: 
has_hardware_rng: 
has_digital_io: 
has_eeprom: 
has_tcp_multi_connection_server: 
has_tcp_echo_stress_server: 
has_gpio_slot_been_defined: 
has_iio_sensors: 
has_led_indicator: 
has_gps: 
has_ubuntu_frame: 
has_mtd: 
has_optee: 
has_otg: 
has_ptp: 
has_rpmsg: 
has_serial_ehco_server: 
has_serial_console_loopback: 
has_socket_can_fd: 
has_spi: 
has_spi_loopback: 
has_video_codec: 
has_vpu: 

ns: com.canonical.certification
name: com.canonical.certification:checkbox-provider-iiotg
has_edac_module: False
has_usb_dwc3_controller: 

ns: com.canonical.qa.intliotg
name: checkbox-provider-intliotg
has_ishtp: False
has_eclite: 
has_mei: True
has_qep: False
tgpio_loopback_capability: 
has_tgpio: 
has_tsn: 
has_usb_dwc3_controller: False
has_va_api: 

ns: com.canonical.certification
name: checkbox-provider-certification-client

ns: com.canonical.certification
name: checkbox-provider-base
has_audio_playback: True
has_audio_capture: True
has_audio_loopback_connector: False
has_line_out: 
has_line_in: 
has_headset: 
has_internal_speakers: 
has_bt_adapter: True
has_bt_smart: 
has_rpi_camera: 
has_camera: 
has_md_raid: None
has_eeprom: 
has_ethernet_adapter: True
has_fingerprint_reader: 
gpio_loopback: 
has_hdmi: 
has_dp: 
has_vga: 
has_dvi: 
has_i2c: True
has_ishtp: 
has_eclite: 
has_special_keys: 
has_led_indicator: 
has_card_reader: 
has_mei: 
has_muxpi_hdmi: 
has_dvd_bluray_inserted: 
has_qep: 
need_kernel_snap_update_test: None
need_snapd_snap_update_test: None
need_gadget_snap_update_test: None
socket_can_echo_server_running: 
has_thunderbolt: 
has_thunderbolt3: 
has_touchpad: 
has_touchscreen: 
has_tpm_chip: 
has_usbc_data: 
has_usbc_video: 
has_usb_storage: True
has_usbc_otg: 
has_va_api: 
has_hardware_watchdog: 
has_wlan_adapter: True
has_wwan_module: False

ns: com.canonical.certification
name: checkbox-provider-resource

ns: com.canonical.certification
name: checkbox-provider-tpm2
has_tpm2_chip: True

------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 2 / 3. Estimated time left: 0:03:20 ]===============
------------------------[ Check presence of an I²C bus ]------------------------
ID: com.canonical.certification::i2c/i2c-bus-detect
Category: com.canonical.certification::i2c
... 8< -------------------------------------------------------------------------
i2c-0	i2c       	i915 gmbus dpa                  	I2C adapter
i2c-1	i2c       	i915 gmbus dpb                  	I2C adapter
i2c-2	i2c       	i915 gmbus dpc                  	I2C adapter
i2c-3	i2c       	i915 gmbus tc1                  	I2C adapter
i2c-4	i2c       	i915 gmbus tc2                  	I2C adapter
i2c-5	i2c       	i915 gmbus tc3                  	I2C adapter
i2c-6	i2c       	i915 gmbus tc4                  	I2C adapter
i2c-7	i2c       	i915 gmbus tc5                  	I2C adapter
i2c-8	i2c       	i915 gmbus tc6                  	I2C adapter
i2c-9	i2c       	AUX USBC1/DDI TC1/PHY TC1       	I2C adapter
i2c-10	i2c       	AUX USBC2/DDI TC2/PHY TC2       	I2C adapter
i2c-11	i2c       	AUX USBC3/DDI TC3/PHY TC3       	I2C adapter
i2c-12	smbus     	SMBus I801 adapter at efa0      	SMBus adapter

Detected bus number: 13
------------------------------------------------------------------------- >8 ---
Outcome: job passed
==============[ Running job 3 / 3. Estimated time left: 0:03:00 ]===============
------------------[ Check if any I²C devices can be detected ]------------------
ID: com.canonical.certification::i2c/i2c-device-detect
Category: com.canonical.certification::i2c
... 8< -------------------------------------------------------------------------
Detected buses: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']
Checking I2C bus 0
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 1
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 2
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 3
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 4
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 5
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 6
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 7
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 8
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 9
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 10
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 11
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

Checking I2C bus 12
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:                         -- -- -- -- -- -- -- -- 
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 
70: -- -- -- -- -- -- -- --                         

I2C device detected
------------------------------------------------------------------------- >8 ---
Outcome: job passed
Finalizing session that hasn't been submitted anywhere: checkbox-run-2024-08-23T17.04.21
==================================[ Results ]===================================
 ☑ : Hardware Manifest
 ☑ : Check presence of an I²C bus
 ☑ : Check if any I²C devices can be detected

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions