Linux wireless drivers development
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Sedat Dilek <sedat.dilek@gmail.com>
Cc: Samuel Ortiz <sameo@linux.intel.com>,
	linux-nfc@lists.01.org, linux-wireless@vger.kernel.org,
	Cristian Sovaiala <cristian.sovaiala@nxp.com>,
	jgeslin <jeremy.geslin@nxp.com>,
	Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
Subject: Re: ThinkPad T470 and NXP PN5xx (PN547 or PN548)
Date: Fri, 10 May 2019 19:40:30 +0300	[thread overview]
Message-ID: <20190510164030.GG9224@smile.fi.intel.com> (raw)
In-Reply-To: <CA+icZUX1N9zK_SGN-OyDVbZ1Jq9EjRxpOfQ0Oe0iSDwuEaJRfg@mail.gmail.com>

(+Cc: Oleg)

On Fri, May 10, 2019 at 09:43:29AM +0200, Sedat Dilek wrote:
> On Thu, May 9, 2019 at 3:46 PM Sedat Dilek <sedat.dilek@gmail.com> wrote:
> >
> > Hi,
> >
> > I am here on Debian/buster AMD64 and Linux v5.1 final.
> >
> > I have successfully installed and tested the NXP NFC driver from
> > Lenovo under Windows 10 as a first step (see [1] and [2]).
> >
> > As a testcase I used my YubiKey which was recognized via NFC and I
> > could automatically register at the YubiKey demo website.
> >
> > Under Linux v5.1 I have activated all sort of CONFIG_NFC_XXX as
> > modules if available (see below and attached files).
> >
> > I am not sure if I need to load the PN544 (I2C) driver?
> >
> > I can see in /sys ...
> >
> > # cd /sys/bus/i2c/devices/i2c-NXP1001:00

> > The NXP NFC Windows driver lists (I have both firmware files copied to Linux)...
> > [Firmware.CopyFiles]
> > NXPPN548FW.DAT
> > NXPPN547FW.DAT

First of all it seems the driver lacks of ID. And the ID seems odd.
Looking for this ID in tables I see mention of NXP NPC100. The driver is
drivers/nfc/nxp-nci for it.

> > Last question: Do I need these firmware files installed?
> > Rename them?
> > Which directory - /lib/firmware?
> >
> > I ran out of ideas...
> >
> > Do you need more informations?
> >
> > I have attached my linux-config and the dmesg output.
> >
> > Thanks in advance.
> >
> > Kind regards,
> > - Sedat -
> >
> > [1] https://pcsupport.lenovo.com/us/de/products/laptops-and-netbooks/thinkpad-t-series-laptops/thinkpad-t470/downloads
> > [2] https://download.lenovo.com/pccbbs/mobiles/n1qnb04w.txt
> > [3] https://github.com/NXPNFCLinux/linux_libnfc-nci
> > [4] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/nfc/nfc-hci.txt
> > [5] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/nfc/nfc-pn544.txt
> >
> > P.S.: Some interesting outputs and files
> >
> > [ LINUX-CONFIG ]
> >
> > $ grep NFC /boot/config-5.1.0-1-amd64-cbl-asmgoto | sort
> > CONFIG_IP_VS_NFCT=y
> > CONFIG_MLX5_EN_RXNFC=y
> > CONFIG_NFC_DIGITAL=m
> > CONFIG_NFC_FDP_I2C=m
> > CONFIG_NFC_FDP=m
> > CONFIG_NFC_HCI=m
> > CONFIG_NFC=m
> > CONFIG_NFC_MEI_PHY=m
> > CONFIG_NFC_MICROREAD_I2C=m
> > CONFIG_NFC_MICROREAD=m
> > CONFIG_NFC_MICROREAD_MEI=m
> > CONFIG_NFC_MRVL_I2C=m
> > CONFIG_NFC_MRVL=m
> > CONFIG_NFC_MRVL_SPI=m
> > CONFIG_NFC_MRVL_UART=m
> > CONFIG_NFC_MRVL_USB=m
> > CONFIG_NFC_NCI=m
> > CONFIG_NFC_NCI_SPI=m
> > CONFIG_NFC_NCI_UART=m
> > CONFIG_NFC_NXP_NCI_I2C=m
> > CONFIG_NFC_NXP_NCI=m
> > CONFIG_NFC_PN533_I2C=m
> > CONFIG_NFC_PN533=m
> > CONFIG_NFC_PN533_USB=m
> > CONFIG_NFC_PN544_I2C=m
> > CONFIG_NFC_PN544=m
> > CONFIG_NFC_PN544_MEI=m
> > CONFIG_NFC_PORT100=m
> > CONFIG_NFC_S3FWRN5_I2C=m
> > CONFIG_NFC_S3FWRN5=m
> > CONFIG_NFC_SHDLC=y
> > CONFIG_NFC_SIM=m
> > CONFIG_NFC_ST21NFCA_I2C=m
> > CONFIG_NFC_ST21NFCA=m
> > CONFIG_NFC_ST95HF=m
> > CONFIG_NFC_ST_NCI_I2C=m
> > CONFIG_NFC_ST_NCI=m
> > CONFIG_NFC_ST_NCI_SPI=m
> > CONFIG_NFC_TRF7970A=m
> > # Near Field Communication (NFC) devices
> >
> > [ WINDOWS 10 INF DRIVER ]
> >
> > $ cat NxpNfcClientDriver.inf
> > ��;
> > ; NxpNfcClientDriver.inf
> > ;
> >
> > [Version]
> > Signature="$Windows NT$"
> > Class=Proximity
> > ClassGuid={5630831C-06C9-4856-B327-F5D32586E060}
> > Provider=%ManufacturerName%
> > CatalogFile=NxpNfcClientDriver.cat
> > DriverVer=03/30/2018,12.0.3.0
> >
> > [Manufacturer]
> > %ManufacturerName%=Standard,NTamd64
> >
> > [Standard.NTamd64]
> > %DeviceName%=MyDevice_Install,ACPI\NXP1000
> > %DeviceName%=MyDevice_Install,ACPI\NXP1001
> > %DeviceName%=MyDevice_Install,ACPI\NXP1002
> > %DeviceName%=MyDevice_Install,ACPI\NXP1003
> > %DeviceName%=MyDevice_Install,ACPI\NXP7471
> > %DeviceName%=MyDevice_Install,ACPI\NXP8013
> > %DeviceName%=MyDevice_Install,ACPI\NXP3001
> >
> > [SourceDisksNames]
> > 1=%DiskName%
> >
> > [SourceDisksFiles]
> > NxpNfcClientDriver.dll=1
> > NXPPN548FW.DAT=1
> > NXPPN547FW.DAT=1
> >
> > ; =================== UMDF Device ==================================
> >
> > [MyDevice_Install.NT]
> > CopyFiles=UMDriverCopy,Firmware.CopyFiles
> > AddReg=NxpNfpProviderProximityCustomValuesRegister
> >
> > [MyDevice_Install.NT.hw]
> > AddReg=NxpNfcClientDriver_AddReg
> >
> > [MyDevice_Install.NT.Services]
> > AddService=WUDFRd,0x000001fa,WUDFRD_ServiceInstall
> >
> > [MyDevice_Install.NT.CoInstallers]
> > AddReg=CoInstallers_AddReg
> >
> > [MyDevice_Install.NT.Wdf]
> > UmdfService=NxpNfcClientDriver,NxpNfcClientDriver_Install
> > UmdfServiceOrder=NxpNfcClientDriver
> > UmdfDirectHardwareAccess=AllowDirectHardwareAccess
> > UmdfFileObjectPolicy=AllowNullAndUnknownFileObjects
> > UmdfImpersonationLevel=Impersonation
> >
> > [NxpNfcClientDriver_Install]
> > UmdfLibraryVersion=2.0.0
> > ServiceBinary=%12%\UMDF\NxpNfcClientDriver.dll
> > UmdfExtensions=NfcCx0102
> >
> > [NxpNfcClientDriver_AddReg]
> > HKR,FirmwareMap,"8",0x00020000,"%%SystemRoot%%\System32\NXPPN547FW.dat"
> > ; HW version of PN547 is 8
> > HKR,FirmwareMap,"10",0x00020000,"%%SystemRoot%%\System32\NXPPN548FW.dat"
> > ; HW version of PN548 is 10
> > HKR,NxpNfcClientDriver, "RfConfigData",            0x00000001, 00
> > HKR,NxpNfcClientDriver, "EEPROMConfigBlob",        0x00000001, 00
> > HKR,NxpNfcClientDriver, "RfSessionMgmt",           0x00010001, 1
> > HKR,NxpNfcClientDriver, "KeepRfData",              0x00010001, 1
> >
> > ; ============== custom registry sections ==================
> >
> > [NxpNfpProviderProximityCustomValuesRegister]
> > HKLM,"SYSTEM\CurrentControlSet\Proximity\","Dummy",0x00000010,0
> >
> >
> > [NxpNfpProviderProximityCustomValuesRegister.Security]
> > "D:P(A;OICI;GA;;;LS)(A;;GA;;;BA)(A;;GA;;;SY)"
> >
> > [WUDFRD_ServiceInstall]
> > DisplayName=%WudfRdDisplayName%
> > ServiceType=1
> > StartType=3
> > ErrorControl=1
> > ServiceBinary=%12%\WUDFRd.sys
> >
> > [CoInstallers_AddReg]
> > HKR,,CoInstallers32,0x00010000,"WUDFCoinstaller.dll"
> >
> >
> > [DestinationDirs]
> > UMDriverCopy=12,UMDF ; copy to Drivers\UMDF
> > Firmware.CopyFiles=11
> >
> > [UMDriverCopy]
> > NxpNfcClientDriver.dll,,,0x100
> >
> > [Firmware.CopyFiles]
> > NXPPN548FW.DAT
> > NXPPN547FW.DAT
> >
> > [ControlFlags]
> > ExcludeFromSelect=*
> >
> > ; =================== Generic ==================================
> >
> > [Strings]
> > ManufacturerName="NXP Semiconductors"
> > DiskName="NxpNfcClientDriver Installation Disk"
> > WudfRdDisplayName="NxpNfcClientDriver"
> > DeviceName="NxpNfcClientDriver"
> >
> > - EOT -
> 
> [ CC Cristian and Jeremy of NXP ]
> 
> What Linux-kernel configs do I need that PN544 I2C NFC driver works?
> 
> Additionally, I have set CONFIG_I2C_GPIO=m.
> 
> What else is important to be activated?
> 
> Thanks.
> 
> - Sedat -



-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2019-05-10 16:40 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-09 13:46 ThinkPad T470 and NXP PN5xx (PN547 or PN548) Sedat Dilek
2019-05-10  7:43 ` Sedat Dilek
2019-05-10 16:40   ` Andy Shevchenko [this message]
2019-05-10 19:51     ` Sedat Dilek
2019-05-10 18:55 ` [linux-nfc] " Oleg Zhurakivskyy
2019-05-10 19:40   ` Sedat Dilek
2019-05-11 13:27     ` Oleg Zhurakivskyy
2019-05-13  9:27       ` Sedat Dilek
2019-05-13  9:50         ` Andy Shevchenko
     [not found]           ` <CA+icZUWXSup0BfXNZXxcrAAbu-b9KCiBU++OkC+eFqacMrTwRg@mail.gmail.com>
2019-05-13 10:57             ` Andy Shevchenko
2019-05-13 11:07               ` Sedat Dilek
     [not found]               ` <CA+icZUVDTx_ZUuOgHVDmg5_a4tgrRkPp880+0KPaRJ1d=zF5VQ@mail.gmail.com>
2019-05-13 11:22                 ` Sedat Dilek
2019-05-13 12:40                 ` Andy Shevchenko
2019-05-13 13:32                   ` Sedat Dilek
2019-05-13 14:11                     ` Andy Shevchenko
2019-05-13 14:23                       ` Sedat Dilek
2019-05-13 19:46                       ` Sedat Dilek
2019-05-13 20:02                         ` Sedat Dilek
2019-05-13 10:15         ` Oleg Zhurakivskyy
2019-05-13 10:51           ` Sedat Dilek
2019-05-13 11:28             ` Oleg Zhurakivskyy
2019-05-13 11:31               ` Sedat Dilek
2019-05-13 11:50               ` Sedat Dilek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190510164030.GG9224@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=cristian.sovaiala@nxp.com \
    --cc=jeremy.geslin@nxp.com \
    --cc=linux-nfc@lists.01.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=oleg.zhurakivskyy@intel.com \
    --cc=sameo@linux.intel.com \
    --cc=sedat.dilek@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox