-
Notifications
You must be signed in to change notification settings - Fork 3
ACO PCIe setting
From v0.7.0, ACO PCIe setting is experimentally supported.
PCIe access enables faster bring up compared to i2c/mdio access. Also, it enables interesting features like real-time constellation monitoring which will be added in the future releases.
To use ACO PCIe access, reload the PCIe kernel module with the following steps.
$ lsmod
Module Size Used by
x86_64_accton_as7716_24xc_dsp 4550 0
linux_user_bde 17390 0
linux_kernel_bde 41347 1 linux_user_bde
x86_64_accton_as7716_24xc_sfp 6590 0
x86_64_accton_as7716_24xc_dps850 3839 0
x86_64_accton_as7716_24xc_psu 2102 0
x86_64_accton_as7716_24xc_fan 4174 0
x86_64_accton_as7716_24xc_leds 4017 0
accton_i2c_cpld 6278 3 x86_64_accton_as7716_24xc_leds,x86_64_accton_as7716_24xc_psu,x86_64_accton_as7716_24xc_sfp
$ rmmod x86_64_accton_as7716_24xc_dsp
$ insmod /lib/modules/3.16.39-OpenNetworkLinux/onl/accton/x86-64-accton-as7716-24xc/x86-64-accton-as7716-24xc-dsp.ko
$ dmesg
[ 8382.023572] dsp_init_module : DSP Driver - 0.2.0
[ 8382.027288] dsp_init_module : Copyright (c) 2016 NTT Electronics Corporation.
[ 8382.033806] dsp_init_module : Major = 125 Minor = 0
[ 8382.037938] dsp_probe : Probe.
[ 8382.039888] dsp_probe : VendorID:14E4, DeviceID:A001, Rev:00
[ 8382.044866] dsp_probe : index=0, base=FBA00000 length=1000 flags=14220C
[ 8382.051157] dsp_probe : BAR0 Phys=FBA00000 Logi=ffffc90016e84000
[ 8382.056418] dsp_probe : Probe.
[ 8382.058378] dsp_probe : VendorID:14E4, DeviceID:A001, Rev:00
[ 8382.063323] dsp_probe : index=1, base=FB900000 length=1000 flags=14220C
[ 8382.069260] dsp_probe : BAR0 Phys=FB900000 Logi=ffffc90016e86000
[ 8382.074524] dsp_probe : Probe.
[ 8382.076472] dsp_probe : VendorID:14E4, DeviceID:A001, Rev:00
[ 8382.081402] dsp_probe : index=2, base=FB800000 length=1000 flags=14220C
[ 8382.087337] dsp_probe : BAR0 Phys=FB800000 Logi=ffffc90016e88000
You can see 3 devices (index=0,1,2) are recognized by the driver. At this point, you need to manually check which device corresponds to which PIU. Let's assume index=0 is the leftmost slot, index=1 is the second slot and index=2 is the third slot.
note the forth from the left slot doesn't support PCIe access. Use slots other than that for PCIe access.
Create device files which correspond to each devices.
$ mknod /dev/dsp0 c 125 0
$ mknod /dev/dsp1 c 125 1
$ mknod /dev/dsp2 c 125 2
Edit /etc/tai/nel/config.json
to use PCIe access.
$ mkdir -p /etc/tai/nel
$ cat /etc/tai/nel/config.json
[
{"dsp-io-dev":"/dev/dsp0"},
{"dsp-io-dev":"/dev/dsp1"},
{"dsp-io-dev":"/dev/dsp2"},
{},
{},
{},
{},
{}
]
Reboot oopt system
oopt reboot