[BPI-R64] Possible hardware improvements

PCIe slots:

Because most of newer 5G/LTE modems are using M.2 B-key interface, it would be nice to have alternative M.2 B-key slot in addition to mPCIe connector.

One possibility would be adding extra M.2 B-key slot in bottom side of board. User then could select which one to use. Only one of them can be used same time.

Newer 5G modems are using PCIe instead of USB connection. Most of mPCIe to M.2 B-key adapters does not have PCIe lines connected. Having possibility to connect modem without any adapter would be great.

Also adding second SIM-card and M.2 B-key slot would allow to use two modems at same time. Second M.2 B-key slot would not need USB and it would be PCIe only.

Current design limits MiniPCIe slots 3.3V current to 1.5A which is not enough for all 5G/LTE modems. SY6280AAC would allow max. 2A which might be just enough for load spikes. It might be good idea to change switch something which allows 2.5-3A loads. Or at least change current setting to 2A.


Some of use cases are not using eMMC at all. So it would be great to have an option to order board without eMMC to reduce cost.


Dual radio AP or 5G router would benefit having 2.5GBits uplink ethernet port. I’m not aware of any mediak switch chips with 2.5Gbits ports, so having only two ports without switch would be one option. Then POE function should be connected to 2.5Gbits port instead of 1Gbits port.

hi, at least current problems need to be solved

  • missing tx capacitors on pcie
  • remove resistors for current limiting on pcie
  • fix crossed sata - lanes on pcie

btw. i got info, that mt7915 needs 3v3 3A on pcie to work properly…so imho this is the minimum that should be supported

i guess make an option without emmc is more expensive than add it to all boards

afaik 2.5G on SOC (only first gmac) is a propritary protocol that cannot be used without a mtk chip that supports it too (like switch)…i think switch is more common for a router port than have the 2 gmac alone

imho the pcie shared with sata should be the one without usb…so if you want sata, you have no pcie with USB. i guess m2 cards are not yet common enough to add a slot. but bpi-r2-pro gets one…maybe it’s a better choice for you

Just as a FYI, on the R64 v1.1 board I bought last month the current limiting capacitors were already updated to 3K for a 3.3V/2.26A current limit (above the SY6280A recommended 2A maximum limit) versus the old 4K7 for a 3.3V/1.44A current limit.

But that’s only for the 3.3V PCIe lines, not the extra 5V supplied to reserved lines 49 and 51 (and also dubiously to lines 46 WPAN and 48 +1.5V but which is generally unused) for use by BananaPi’s own wireless cards and some others such as the Unielec U7615N-L3.

The PCI-SIG specifications state a 1100mA normal and 2750mA peak current on 3.3V for minipcie.

As far as I can tell adding capacitors to stabilize peak power draws was only suggested in topic Quectel EC25: USB port connect-disconnect when on 2G so not “missing” per se.


thanks for this information.

i got the “capacitor missing on tx lines” information from mediatek (was about a google coral card)

edit found it:

Bpi-r64 pcie slot has hw issue, so we use MTK reference board to test it before and coral card was returned to BPI already so we cannot test it again.

About r64 HW issue, we just have solution to make it stable. Maybe you can ask him to rework the board.

1.Add two 100uf capacitance

2.short pin (red circle) or change to 3K resistance to remove pcie current limit <- it’ll cause system unstable when pcie device needs more power from system

is the sata-issue fixed too (pcie too,crossed tx/rx)?

1 Like

BPI-R2 Pro have M.2 E-key slot which is for wlan cards. 5G/LTE modems needs M.2 B-key slot.

I meant not to remove current mPCIe slots. Just add extra M.2 B-key slot in other side of board. Then you can select which to use. They would use same PCIe lines so both slots can’t be used same time.

It might be good idea to route USB3 signals to M.2 B-key slot instead of USB2. That would need same kind of switch as sata port have. User could disable external USB3 port and reroute signal to M.2 B-key slot. Currently some of 5G modems use USB3 and some PCIe. But all them use M.2 B-key connector.

I think current sharing PCIe/USB2 slot with SATA is good idea. You can still use USB2 LTE modem and SATA both same time. I’m currently using DW5821e with M.2 B-key adapter in shared slot and also SSD disk connected to SATA port.

Good to hear that newer boards have changed resistors to allow 3.3V/2.26A. I need to solder extra parallel resistor to get DW5821e working. Otherwise card rebooted when carrier aggregation was activated.

SY6280A could be directly replaced with SY6282ACC which is 3A version of same switch. That would allow change limit to 2750mA spec value.

I have a MikroTik R11e-5HnD Mini-PCIE (AR9580) that is always crashing my whole kernel. It was said to me that on a PC Engines APU (x86) the card works. Written in the datasheet the MAX power consumption is listed with 5W: https://i.mt.lv/cdn/product_files/R11_171142.pdf You write here in the comments above, that the Banana Pi R64 is missing enough power to power some cards. Could this also be the reason why the card is crashing my system?

I bought my R64 in March. I don’t know what hardware changes were made on it, but I am using an AsiaRF AW7915-NP1 card in it, which says it needs at least 2.5A on 3.3v line. It works great, no issues. How do I identify which hardware changes it has?

which hw-rev do you have?

1.1, but it looks like there are different 1.1’s out there. Is this not the case?

The cards being spoken of here are very power hungry cards that are drawing off the 3.3V supply. Yours, at 5W, even if it was drawing entirely off the 3.3V supply shouldn’t exceed what any version of the R64 can supply. I don’t think it’s this issue.

So I lied. It worked great in client mode, but not as an AP. Drawing more when used as an AP makes sense. As an AP my R64 became unstable as others have noted with random restarts and other bizarre effects clustering around high wifi usage.

My v1.1 board has the 4k7 current limiters. I put in the two shunts shown in the diagram (rather than change the resistors) - I had recent cornea transplant and have no depth perception right now so even that was tricky. I decided to test for stability first before I added the caps to see if the caps were really necessary. I suspect they aren’t really needed with the shunts rather than the resistor change. And since then it has been very stable. I intend to leave out the caps unless I start seeing stability issues again.

@sinovoip Can we please get updated schematics for each board revision, including the multiple v1.1 boards?

@frank-w Thank-you for all the information you dig up, post, and maintain!

Please inform me if there any Information not yet in my wiki. If there are much more boards i have not state of all in my head :slight_smile:

These are the four versions that I’ve seen posts about:

  • 1.0 Original release. PCI0 bug (missing capacitors on tx lines), mPCIe slot 3.3V lines limited to 1447mA (4.7kΩ resistors on current limiter)
  • 1.1 First revision. PCI0 tx line bug fixed. mPCIe slots still limited to 1440mA (still 4.7kΩ resistors - this is my board)
  • 1.1 Reports of v1.1 boards with 3.0kΩ current limiting resistors on mPCIe slot 3.3V line (@Reiver’s board), mPCIe 3.3v line 2267mA.
  • 1.2 Unknown changes (currently shipping)

I don’t know if any revision fixes the PWM issues. I also don’t know if there are more boards with different changes and the same revision number.

1 Like

Thx for summarize

Which pwm issues?

The fan PWM is inverted, iirc, and won’t properly drive a fan.

Ah yes,i remember :slight_smile: i tried to invert it by software.

My version 1.2 R64 board came while I was away on vacation. I haven’t even powered it up yet, but on first inspection it appears the PCI 3.3v system has been completely reworked. The SY6280A distribution switch (which limited each card to about 2A) has been replaced with a switching transistor and a power MOSFET. From what I can tell, it should be good for a little over 3A at 3.3V. This is fantastic news, though I wish it had come a year and a half ago.

There is still only about 5A of power to share on the 3.3V rail for the entire board, but either slot should be able to support the high-power AsiaRF cards now without soldering on jumpers or disabling the board’s ability to shut off power to the cards.

I’ll know more when I actually populate my board, but I’m optimistic.

I’ve now run two different AsiaRF cards in my v1.2 BPI-R64. The AW-7915-NP1 and the AW-7915-NPD both seem to be stable on an unmodified board. Both state they require minimum 2.5-3A at 3.3V, so the new PCIe power system seems to work well.