lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <25058311-191c-055a-5966-aeb14440db2b@cccmz.de>
Date:   Fri, 24 Apr 2020 18:41:18 +0200
From:   Tanjeff Moos <tanjeff@...mz.de>
To:     Networking <netdev@...r.kernel.org>
Subject: How to operate 10Gbit SFP+ module if driver doesn't support SFP+?

Hello netdev list,

I hope that I'm at the right mailinglist for my question. If not, let me
know.


Abstract
--------

I'm trying to get a 10GBASE-SR SFP+ module running on a self-made board.
The MAC driver doesn't support phylink (i.e. no I²C accesses to the SFP+
registers), therefore I want to use PHY-less mode. On the other hand,
the "fixed-link" mode supports only up to 1 Gbit. The "in-band-status"
mode is said to not work with my setup. Thus I'm running out of options.
I ask you if there are further options to get things running.


About the hardware
------------------

My company built an access point containing an NXP QorIQ T1023 Soc. This
SoC includes a MAC which is connected to an SFP+ cage. We use XFI for
the connection between MAC and SFP+. In addition, the SFP+ module is
connected to the SoC via I²C to access its registers.


About the software
------------------

I am running OpenWRT with a Linux 4.14.137 kernel. There are patches on
that kernel (mostly from the OpenWRT project, some by us).


Details about the problem
-------------------------

For the MAC, I use the DPAA driver. This driver uses the kernels phylib
(a.k.a. PHY Abstraction Layer) to access its PHY. However, phylib
supports only MDIO-connected PHYs, not I²C connected devices. The kernel
also provides phylink which can access I²C devices *and* MDIO devices
(according to my understanding), but the DPAA driver does not support
phylink. Therefore, the SFP+ Module will not work in a "normal" way with
the DPAA driver.

Instead, I try to use PHY-less mode by adding the "fixed-link" keyword
to my DTS file. However, I can only configure up to 1 Gbit, but I need
10 Gbit.

There is an "in-band-status" keyword for the DTS file, but I didn't
understand what it does. An NXP supporter told me that this will not
work with XFI.

To summarize, I considered the following options:

- Operating SFP+ "normally", register access over I²C --> Not supported
  by MAC driver
- PHY-less operation with "fixed-link" --> does not support 10G
- PHY-less operation with "in-band-status" --> said to be no option,
  but I don't understand why


What I tried so far
--------------------

- Checked XFI link: I read the MACs registers, and it says the XFI link
  is up. I didn't find an equivalent register on the SFP+ side. The
  Ethernet switch (this is my link partner for the fiber link) says the
  link is up (LED is on).
- Reading SFP+ registers: I can actually read the registers of the SFP+
  module. I tried that on the U-boot commandline, just to test the I²C
  connection.
- Hacking the phylib: I tried to add 10G mode to the "fixed-link" mode
  and had limited success. My MAC can now receive packets but not send.
  I believe that the MAC still thinks the link were down. I'm currently
  working in that area.


My Question
-----------

- Is there a method to operate the SFP+ module in PHY-less mode which
  I'm unaware of?



Kind regards, Tanjeff

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ