The difference between nx-emmc and nx-sd

Hello, I have 3 nx-sd core boards and one nx-emmc core board. When doing the kernel configuration of the 4G module, I have successfully made the emmc version of the core board successfully support the 4G module.
But when I put the same kernel into the nx core board of the sd card version, none of the 3 nx-sd can successfully identify the 4G module. The official technical support of the 4G module clearly states that the 4G module will not be bound to the cpu, so this seems unreasonable.
The fact that the 4G module will not be bound to the cpu can be proved from the following phenomenon. The 4G module on the other carrier board has never been activated, but this emmc core board can normally identify the inactive 4G module.
However, none of the three nx-sd core boards can recognize this inactive 4G module.
All 4 nx core boards have the same kernel version and the same settings.
Will there be a slight difference between emmc and sd version in kernel configuration?
Any help on this point would be appreciated!

1 Like


What interface is this 4G module using?

It uses a USB interface and uses ECM to dial.

Linux kernel configuration refers to the following method:
Device Drivers β€”>
[] Network device support β€”>
] Ethernet driver support β€”>
[] Texas Instruments (TI) devices < > TI DaVinci EMAC Support
- TI DaVinci MDIO Support
-- TI DaVinci CPDMA Support <> TI CPSW Switch Support
[] TI CPSW Switch as Dual EMAC
Device drivers β€”> [
]usb support β€”>
<>usb serial converter support
Select the following components:
β€”> [
]USB Generic Serial Driver
β€”> <*>USB driver for GSM and CDMA modems

    1. Device Drivers β€”>
      [] Network device support β€”>
      USB Network Adapters β€”>
      > Multi-purpose USB Networking Framework
      <*> Host for RNDIS and ActiveSync devices (EXPERIMENTAL)
    1. Device Drivers --> USB support β€”>
      USB Gadget Support β€”>
      ε…ΆδΈ­ USB Peripheral Controller 选 S3C2410 USB Device Controller
      USB Gadget Drivers
      Ethernet Gadget (with CDC Ethernet support) [*] RNDIS support
  1. [] Networking support --> β€” Networking support
    Networking options -->
    > Packet socket
    [] IP: kernel level autoconfiguration
    ] IP: DHCP support
    [*] Network packet filtering framework(Netfilter) --> // The lower sub-options can be unconfigured
    4.2 Add kernel USB driver identification ID
    Open the kernel source file option.c (path drivers/usb/serial/option.c), find the option_ids array, and add the following content:
    { USB_DEVICE_AND_INTERFACE_INFO(0x1782, 0x4d10, 0xff, 0, 0) },
    { USB_DEVICE_AND_INTERFACE_INFO(0x1782, 0x4d11, 0xff, 0, 0) },
    After compiling the kernel and burning it to the linux baseboard, plug in the USB cable connection module. Use the ls /dev command to view the device, and ttyUSB0 to ttyUSB7 appear, as shown in the figure below, indicating that the USB enumeration is successful, and ttyUSB0 is the AT port.

Figure 4-1: Enumerated ttyUSB interface

Figure 4-2:Figure 4-2: The USB interface I enumerated

Figure 4-3: USB device detected by nx-emmc

But these phenomena will not appear on nx-sd.


The β€œlsusb” should not have any difference because it is the basic function of usb.

Are you saying that when you plug the device into sd module, there would be no usb device detected?


Could you compare the dmesg when you plug in the device on emmc and on sd module?

emmc-log.txt (71.1 KB) sd-log.txt (68.5 KB)


Could you try to do the comparison by yourself?

Sorry I’m unable to do this.I just graduated, and I don’t know much about the kernel.Can you give me some tips about how to study the linux kernel?

You don’t need to know kernel. Just learn to compare the log to tell which part are different.

And you can try

  1. boot the device with no device connected

  2. Dump dmesg, remember the timestamp

  3. Connect your 4g module

  4. Dump the dmesg again and only start to compare the log from timestamp you log from (2)>

This 4G module has been soldered on the bottom plate and cannot be removed. But I will find a way to find a baseboard without a 4G module, but it will take a long time. Is there any other way? Please tell me, thank you very much for your answers.

or you can also compare the log you just pasted. It is same but just harder to compare.

Just compare the log when your usb device appears.

OK,I will have a try.But…
Could it be related to the programming command I used. Is the following command wrong?
sudo ./ p3449-0000+p3668-0001-qspi-emmc mmcblk0p1
sudo ./ p3449-0000+p3668-0000-qspi-sd mmcblk0p1

No, nothing to do with that. That is correct.

If the flash command is wrong, then you will not able to boot up device. No need to mention 4G module.

What I cannot understand is below description.

This 4G module has been soldered on the bottom plate and cannot be removed.

What carrier board are you using exactly?

OK,Thank you so much.
I have seen some difference about 4G module in the dmesg log.

The carrier board is made by our team.Before I came, the hardware engineer just finished it. I am not satisfied with some of its functions and it is not convenient to debug.

Does your team know that sdcard module is not compatible with any custom carrier board?

1 Like

Really? What a shame!We We have bought 7 developer kits!