Skip to Content.
Sympa Menu

rare-dev - Re: [rare-dev] Access

Subject: Rare project developers

List archive

Re: [rare-dev] Access


Chronological Thread 
  • From: mc36 <>
  • To: Gawen Davey <>, Frédéric LOUI <>, Alexander Gall <>
  • Cc: "" <>, Alexander Jeffries <>
  • Subject: Re: [rare-dev] Access
  • Date: Wed, 22 Jun 2022 12:44:00 +0200

hi,
after applying your patch, recompiled everything and given it a try... i
still get segfault and bfswd does not start...
thanks,
cs


mc36@stordis:~$ ./s.sh
[sudo] password for mc36:
256
i2c-1 i2c igb BB I2C adapter
i2c-2 smbus SMBus I801 adapter at f000 SMBus adapter
i2c-0 i2c igb BB I2C adapter
Using SDE /home/mc36/bf-sde-9.9.0/
Using SDE_INSTALL /home/mc36/bf-sde-9.9.0//install/
Setting up DMA Memory Pool
Using TARGET_CONFIG_FILE
/home/mc36/bf-sde-9.9.0//install//share/p4/targets/tofino/bf_router.conf
Using PATH
/home/mc36/bf-sde-9.9.0//install//bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Using LD_LIBRARY_PATH /usr/local/lib:/home/mc36/bf-sde-9.9.0//install//lib:
checking for bf_sysfs_fname /sys/class/bf/bf0/device/dev_add
kernel mode packet driver present, forcing kernel_pkt option!
bf_switchd: Install dir: /home/mc36/bf-sde-9.9.0//install/
bf_switchd: system services initialized
bf_switchd: loading conf_file
/home/mc36/bf-sde-9.9.0//install//share/p4/targets/tofino/bf_router.conf...
bf_switchd: processing device configuration...
Configuration for dev_id 0
Family : tofino
pci_sysfs_str : /sys/devices/pci0000:00/0000:00:03.0/0000:05:00.0
pci_int_mode : 0
sds_fw_path : share/tofino_sds_fw/avago/firmware
bf_switchd: processing P4 configuration...
P4 profile for dev_id 0
num P4 programs 1
p4_name: bf_router
p4_pipeline_name: pipe
libpd:
libpdthrift:
context:
/home/mc36/bf-sde-9.9.0//install//bf_router.tofino/pipe/context.json
config: /home/mc36/bf-sde-9.9.0//install//bf_router.tofino/pipe/tofino.bin
Pipes in scope [0 1 2 3 ]
diag:
accton diag:
Agent[0]: /home/mc36/bf-sde-9.9.0//install//lib/libpltfm_mgr.so
bf_switchd: library /home/mc36/bf-sde-9.9.0//install//lib/libpltfm_mgr.so
loaded
bf_switchd: agent[0] initialized

Platform Manager: Starting BF2556X-1T
Platform Manager: Initialising SMB (i2c) subsystem
Platform SMB: Detecting system device
Platform SMB: System i2c bus found at /dev/i2c-2
Platform Manager: Initialising QSFP subsystem
Platform Manager: Initialising IPC (socket) subsystem
Platform IPC: Socket at /tmp/tofino_usocket ready
Platform Manager: Initialising IPMI (sensor) subsystem

Device 0: Operational mode set to ASIC
Initialized the device types using platforms infra API
ASIC detected at PCI /sys/class/bf/bf0/device
ASIC pci device id is 16 (0x0010)
Skipped pkt-mgr init
Starting PD-API RPC server on port 9090
bf_switchd: drivers initialized
\
Platform Manager: Initialising LED subsystem
Platform Manager: Initialising MDIO subsystem
Platform Manager: Starting health monitor

bf_switchd: dev_id 0 initialized

bf_switchd: initialized 1 devices
2022-06-22 12:42:12.185073 BF_SYS ERROR -
/home/mc36/bf-sde-9.9.0//install//lib/libdriver.so(+0x1c53bf2)
[0x7f15747cabf2]
2022-06-22 12:42:12.185127 BF_SYS ERROR -
/home/mc36/bf-sde-9.9.0//install//lib/libdriver.so(bf_switchd_lib_init+0x12ff)
[0x7f15747d0dff]
2022-06-22 12:42:12.185148 BF_SYS ERROR - bf_switchd(+0x3773) [0x558c1b10d773]
2022-06-22 12:42:12.185165 BF_SYS ERROR -
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xea) [0x7f157275ad0a]
2022-06-22 12:42:12.185180 BF_SYS ERROR - bf_switchd(+0x398a) [0x558c1b10d98a]
/home/mc36/bf-sde-9.9.0//run_switchd.sh: line 218: 1092 Segmentation fault sudo env "SDE=$SDE" "SDE_INSTALL=$SDE_INSTALL" $ASAN_ON_ERROR "PATH=$PATH" "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" $DBG bf_switchd "$SERVER_LISTEN_LOCAL_ONLY" --install-dir $SDE_INSTALL --conf-file $TARGET_CONFIG_FILE "--init-mode=$INIT_MODE" $SKIP_HLD_STR $SKIP_P4_STR $SKIP_PORT_ADD_STR $STS_PORT_STR $KERNEL_PKT_STR $SHELL_NO_WAIT $@
mc36@stordis:~$
mc36@stordis:~$
mc36@stordis:~$ sudo dmesg | tail -n 50
[ 21.682010] i2c /dev entries driver
[ 21.713375] igb: Intel(R) Gigabit Ethernet Network Driver
[ 21.719450] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 22.086426] igb 0000:08:00.0: added PHC on eth0
[ 22.090376] igb 0000:08:00.0 enp8s0f0: renamed from eth0
[ 22.091505] igb 0000:08:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 22.105133] igb 0000:08:00.0: enp8s0f0: (PCIe:5.0Gb/s:Width x1)
84:c7:8f:02:20:61
[ 22.113580] igb 0000:08:00.0: enp8s0f0: PBA No: 106300-000
[ 22.119720] igb 0000:08:00.0: Using MSI-X interrupts. 8 rx queue(s), 8 tx
queue(s)
[ 22.490289] igb 0000:08:00.1: added PHC on eth0
[ 22.494004] igb 0000:08:00.1 enp8s0f1: renamed from eth0
[ 22.495370] igb 0000:08:00.1: Intel(R) Gigabit Ethernet Network Connection
[ 22.508998] igb 0000:08:00.1: enp8s0f1: (PCIe:5.0Gb/s:Width x1)
84:c7:8f:02:20:62
[ 22.517446] igb 0000:08:00.1: enp8s0f1: PBA No: 106300-000
[ 22.523582] igb 0000:08:00.1: Using MSI-X interrupts. 8 rx queue(s), 8 tx
queue(s)
[ 22.532840] igb 0000:0a:00.0: PHY reset is blocked due to SOL/IDER session.
[ 22.565111] pps pps0: new PPS source ptp2
[ 22.568073] igb 0000:0a:00.0 enp10s0: renamed from eth0
[ 22.569754] igb 0000:0a:00.0: added PHC on enp10s0
[ 22.580807] igb 0000:0a:00.0: Intel(R) Gigabit Ethernet Network Connection
[ 22.588505] igb 0000:0a:00.0: enp10s0: (PCIe:2.5Gb/s:Width x1)
84:c7:8f:02:20:60
[ 22.596826] igb 0000:0a:00.0: enp10s0: PBA No: 000300-000
[ 22.602870] igb 0000:0a:00.0: Using MSI-X interrupts. 4 rx queue(s), 4 tx
queue(s)
[ 22.631318] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt
[ 22.638472] i2c i2c-2: 2/4 memory slots populated (from DMI)
[ 22.672393] igb 0000:0a:00.0 enp10s0: igb: enp10s0 NIC Link is Up 1000
Mbps Full Duplex, Flow Control: RX
[ 22.683389] IPv6: ADDRCONF(NETDEV_CHANGE): enp10s0: link becomes ready
[ 22.928611] bf_kpkt: loading out-of-tree module taints kernel.
[ 22.965925] bf_kpkt: module verification failed: signature and/or required
key missing - tainting kernel
[ 22.986580] bf_kpkt: Intel(R) Switch ASIC Linux Packet Driver - version 1.0
[ 22.994366] bf_kpkt: Copyright (c) 2015-2022 Intel Corporation.
[ 23.001003] bf device class created
[ 23.004901] Use MSI interrupt
[ 23.008215] kpkt_mode 1 hd_room 32 dr_int_en 1 rx_count 256
[ 23.014506] bf 0000:05:00.0: enabling device (0100 -> 0102)
[ 23.020908] pmd_set_huge: Cannot satisfy [mem
0x383ff8000000-0x383ff8200000] with a huge-page mapping due to MTRR override.
[ 23.033696] bf using 2 MSI irq from 104
[ 23.033859] BF allocating 2 MSI vectors from 104
[ 23.039121] bf 0000:05:00.0: bf device 0 registered with irq 104
[ 23.045826] bf probe ok
[ 23.048559] bf_kpkt: NAPI Net Driver,version 9.9.0-22-cpr (01May2017)

[ 23.057882] bf_pci0 BF PCI-MAC is up
[ 23.059777] bf 0000:05:00.0 ens1: renamed from bf_pci0
[ 23.061901] bf_kpkt kernel processing enabled for dev 0 subdev_id 0
[ 25.849946] bf_m_init 31
[ 29.379258] bf_dev_add
[ 29.383494] IPv6: ADDRCONF(NETDEV_CHANGE): ens1: link becomes ready
[ 29.392419] bf_switchd[1093]: segfault at 0 ip 0000000000000000 sp
00007ffeb74bff18 error 14 in bf_switchd[558c1b10a000+3000]
[ 29.405071] Code: Unable to access opcode bytes at RIP 0xffffffffffffffd6.
mc36@stordis:~$

On 6/22/22 11:08, Gawen Davey wrote:
Yes, It will go on the portal. But it's beta, not ready for general release.

With respect to the latest error, looks like SDE 9.9.0 removed some code that handled a case where a part number is not properly burned into the "efuse". This is not something that can be fixed by the BSP, and requires a patched bf-drivers package. So the SDE version as it comes from Intel won't ever work.

I've got a script as a workaround. It unpacks the SDE and bf-drivers package, applies the necessary patch, and packages everything back up again. It expects the original SDE tarball to be in the same directory as itself, and will replace it in-situ.

Probably don't need to create an entire SDE tarball, so the last three lines
are probably unecessary.

In any case, I've raised a ticket with Intel, but this certainly sets back my plans. I don't want to add more scripts and instructions to our documentation and downloads, so nothing will be going on the support portal until I hear back from Intel.

#! /usr/bin/env bash

set -eE

script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"

cd ${script_dir}

tar xvf bf-sde-9.9.0.tgz
cd bf-sde-9.9.0/packages
tar xvf bf-drivers-9.9.0.tgz
rm bf-drivers-9.9.0.tgz

patch -p0 <<'EOM'
Index: bf-drivers-9.9.0/src/lld/lld_efuse_tof.c
===================================================================
--- bf-drivers-9.9.0.orig/src/lld/lld_efuse_tof.c
+++ bf-drivers-9.9.0/src/lld/lld_efuse_tof.c
@@ -117,6 +117,15 @@ int lld_efuse_tof_load(bf_dev_id_t dev_i
dev_p->efuse_data.voltage_scaling =
extract_bit_fld_128(hi64, lo64, (245 - 128), (243 - 128));
+ /* If either pipes or ports are disabled in efuse we'll pretend
+ * this is a tofin-small */
+ if ((dev_p->efuse_data.pipe_disable != 0) ||
+ (dev_p->efuse_data.port_disable_map_lo != 0)) {
+ /* This is a temporary hack since some of the Tofino lite chip dont
have
+ have the chip part number burned correctly in the efuse */
+ dev_p->efuse_data.chip_part_number = BFN_PART_NBR_BFNT10032D; //
T-3.2-Half
+ }
+
if (dev_p->efuse_data.chip_part_number == BFN_PART_NBR_BFNT10032D) {
// T-3.2-Half
uint64_t p = dev_p->efuse_data.port_disable_map_lo;
EOM


tar cvf bf-drivers-9.9.0.tgz bf-drivers-9.9.0
rm -rf bf-drivers-9.9.0
cd ${script_dir}
rm bf-sde-9.9.0.tgz
tar cvf bf-sde-9.9.0.tgz bf-sde-9.9.0






Archive powered by MHonArc 2.6.19.

Top of Page