I just want to upgrade Brocade driver to 3.2.7.2.
I didn't use linux-3.10.x.txz to build drivers on another machine.
If I use linux-3.10.x to build ,also bfa have the same errors like below,
bna can be build successful,but when insmod bna.ko will have errors like :
root@DiskStation:/usr/src/bna# insmod bna.ko
insmod: ERROR: could not insert module bna.ko: Unknown symbol in module
dmesg
[ 6781.814664] bna: Unknown symbol kmem_cache_alloc_trace (err 0)
[ 6781.814683] bna: Unknown symbol kmalloc_order_trace (err 0)
[ 6781.814745] bna: Unknown symbol alloc_pages_current (err 0)
What my other way to try on real DSM is like this:
Build with "/usr/local/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-6.1/build” which decompressed from ds.x64-6.1.dev.txz
The driver has two parts,one is bna,and one is bfa.
bna can be built successfully,but when I build bfa ,it got errors like:
root@DiskStation:/usr/src/bfa# make
make -C /usr/local/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-6.1/build M=`pwd` CONFIG_DEBUG_INFO=
make[1]: Entering directory `/volume1/Share/ds6.1dev/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-6.1/build'
Building modules, stage 2.
MODPOST 1 modules
WARNING: "scsi_is_fc_rport" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_get_event_number" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_vport_terminate" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_remote_port_rolechg" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_vport_create" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_host_post_vendor_event" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_release_transport" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_remote_port_delete" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_remove_host" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_remote_port_add" [/usr/src/bfa/bfa.ko] undefined!
WARNING: "fc_attach_transport" [/usr/src/bfa/bfa.ko] undefined!
First I prepared bromolow-gcc493_glibc220_linaro_x86_64-GPL.txz
tar -Jxvf bromolow-gcc493_glibc220_linaro_x86_64-GPL.txz
export PATH=/volume1/Share/x86_64-pc-linux-gnu/bin:$PATH
export TOOLCHAIN=/volume1/Share/x86_64-pc-linux-gnu/
ln -s /volume1/Share/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-gcc /usr/bin/gcc
ln -s /volume1/Share/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ar /usr/bin/ar
ln -s /volume1/Share/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-ld /usr/bin/ld
Then I edited the Makefile of bna and bfa (See blow: brocade_driver_linux-3.2.7.2_src.tar.gz), and changed KERNEL_DIR to “/usr/local/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-6.1/build” which decompressed from ds.x64-6.1.dev.txz.I also made a link like this:
root@DiskStation:/usr/src/bfa# ls /usr/local/x86_64-pc-linux-gnu
sys-root
root@DiskStation:/usr/src/bfa# ls -lh /usr/local/
total 28K
lrwxrwxrwx 1 root root 109 Jan 2 20:12 x86_64-pc-linux-gnu -> /volume1/Share/ds6.1dev/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu
Because bfa.ko is failed,so I tried to put bna.ko in extra.lzma,but it still didn't work.DSM can not init the Ethernet when it's booting.
dmesg like this:
[Wed Jan 2 20:27:24 2019 < 0.005737>] QLogic BR-series 10G Ethernet driver - version: 3.2.7.2 01/27/2017 15.49.07
[Wed Jan 2 20:27:24 2019 < 0.000033>] bnad_pci_probe : (0xffff88020d3f9800, 0xffffffffa09a7180) PCI Func : (2)
[Wed Jan 2 20:27:24 2019 < 0.000022>] BFA[info] log: init OK, msg total count 110
[Wed Jan 2 20:27:24 2019 < 0.000092>] bna 0000:01:00.2: ioremap for bar0 failed
[Wed Jan 2 20:27:24 2019 < 0.005122>] bna: probe of 0000:01:00.2 failed with error -12
[Wed Jan 2 20:27:24 2019 < 0.000005>] bnad_pci_probe : (0xffff88020d3f9000, 0xffffffffa09a7180) PCI Func : (3)
[Wed Jan 2 20:27:24 2019 < 0.000065>] bna 0000:01:00.3: ioremap for bar0 failed
[Wed Jan 2 20:27:24 2019 < 0.005125>] bna: probe of 0000:01:00.3 failed with error -12
Could you give me some advice? I also checked your bna.ko.It's different ,your bna used a firmware like :
[root@localhost ~]# modinfo nas-ultra/usr/lib/modules/bna.ko
filename: /root/nas-ultra/usr/lib/modules/bna.ko
firmware: ct2fw-3.1.0.0.bin
firmware: ctfw-3.1.0.0.bin
version: 3.1.2.1
description: Brocade 10G PCIe Ethernet driver
license: GPL
author: Brocade
srcversion: 02F8BB3E6DC8BB2E016FDB6
alias: pci:v00001657d00000022sv*sd*bc02sc00i*
alias: pci:v00001657d00000014sv*sd*bc02sc00i*
depends:
intree: Y
vermagic: 3.10.102 SMP mod_unload
parm: bnad_msix_disable:Disable MSIX mode (uint)
parm: bnad_ioc_auto_recover:Enable / Disable auto recovery (uint)
parm: bna_debugfs_enable:Enables debugfs feature, default=1, Range[false:0|true:1] (uint)
here is mine:
[root@localhost ~]# modinfo nas/usr/lib/modules/bna.ko
filename: /root/nas/usr/lib/modules/bna.ko
version: 3.2.7.2
description: QLogic BR-series 10G PCIe Ethernet driver
license: GPL
author: Brocade
srcversion: E43385231C32C74BC9F3424
alias: pci:v00001657d00000022sv*sd*bc02sc00i*
alias: pci:v00001657d00000014sv*sd*bc02sc00i*
depends:
vermagic: 3.10.102 SMP mod_unload
parm: bnad_gro_disable:Disable GRO (uint)
parm: bnad_multi_buffer_rx:Multi-buffer Rx; 1 - en(default), 0 - dis (uint)
parm: bnad_msix_disable:Disable MSIX mode (uint)
parm: bnad_log_level:Log level (uint)
parm: bnad_ioc_auto_recover:Enable / Disable auto recovery (uint)
parm: bna_debugfs_enable:Enables debugfs feature, default=1, Range[false:0|true:1] (uint)
parm: bna_veb_enable:Enable VEB, default=0, Range[false:0|true:1] (uint)
For those differents,I checked Brocade website,and I didn't find any useful informations. http://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/SearchByProduct.aspx?ProductCategory=322&Product=1214&Os=65
brocade_driver_linux-3.2.7.2_src.tar.gz