Oleksii

Members
  • Content Count

    19
  • Joined

  • Last visited

2 Followers

About Oleksii

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Oleksii

    NanoPC T4

    My Transcend 110S SSD stoped working due to some driver changes in v5.4. But started to work again since next 5.5
  2. Oleksii

    NanoPC T4

    If you are still interested in Type-C for mainline kernels. My patches at least explain what is missing in the present drivers and why this magic dr_mode = "host" is specified everywhere in the mainline dtbs
  3. Hello, nanopc t4 folks, Some, not so long time ago, I worked on fusb302.ko driver and device tree improvements in order to make USB Type-C port working properly in the mainline 5.* kernel. I managed to get DisplayPort over type-C + some general type-c handling improved before my board simply died. Unfortunately, I was not able to finish all the planned work and cannot continue further However, I guess, working DP is already fairly good achievement that might be interesting for many of us. Hereby, I want to publish some patches to the mainline!!! driver and device tree that add missing functionality, so one can get DP+type-C working on NanoPC T4 (and all RK3399 based boards with Fairchild FUSB302 chip for PD with relatively small DT adjustments). I would be very happy if results of my work can be helpful to others and extremely happy if there any volunteers, who are willing to continue work on this subject. My primary goal was to contribute to Armbian, first of all, with a potential mainline repo contribution. What was added: Extcon notifications support (type-c related cables) in the stock fusb302 driver (developed by Google folks, but also used by Intel if I understand correctly) DisplayPort altmode is registered automatically, if device tree has proper modelling for that DisplayPort altmode is entered as soon as DP cable connection is detected (both DP+USB3.0 and DP only pin assignments are supported) DisplayPort altmode is handled by the unified DP altmode driver rather than custom out-of-tree PD chip driver "connector" node modelling in the device tree according to the mainline kernel docs and modern requirements fusb node phandle is still specified as extcon source for Rockchip's proprietary drivers, however, last can be easily adjusted to resolve extcon directly from connector node link (as soon as extcon property is declared as deprecated for all new development). fusb302 driver is now correctly linked to dwc3 driver which provides role_switch functionality (+1 step to correct "Dual Role" mode handling based on the cable detection). This also eliminates annoying error message in the boot log: "OF: graph: no port node found in /i2c@ff3d0000/typec-portc@22" Please, also notice that type-c mode is forced to Host as in the most of rk3399 based SBC dtbs presently. This is rather a workaround for such boards, than a permanent solution, until all necessary bits are developed for correct role switching in the drivers. I kindly ask some NanoPC T4 owners to build mainline kernel with my patches and test whether expected functionality also works for you. Those patches apply to linux kernel since 5.6 when I started to work, but should also apply to way earlier versions according to my brief analysis of kernel commits history. fusb302-add-extcon.patch rk3399-nanopc-t4-type-c-modeling.patch
  4. Oleksii

    M4 Died

    Thanks for advise! However, even this process will eat my time which I can more productively spend to make money for another SBC and preferably not FriendlyArm product this time I'm really disappointed and do not want to deal with a company like this anymore I gave them enough time and information to resolve the issue in a "Friendly" manner. I also spent my spare time trying to contribute to the mainline linux in order to make their boards more "Friendly". And now, it seems to me, I should look for another friends
  5. Oleksii

    M4 Died

    From what I read: "You own some RK based devices and they do work! But you stopped treating them seriously". In my situation all 100% of my RK-based SBCs are faulty "black sheeps"
  6. Oleksii

    M4 Died

    I wrote the e-mail to their tech support. No answer, indeed. Then posted my question to them via "Contact Us" form on website. No feedback ... I saw some other people complaining about boards dying with the same symptoms (one can even find some posts in the FriendlyARMs dedicated forum). I worked on mainline fusb302 controller driver extension in order to gain some missing functionality crucially needed for Rockchip's DisplayPort and Type-C drivers. I managed to get DisplayPort working properly on T4 in mainline 5.6+ kernels. My SBC simply died right in the middle of kernel sources compilation I haven't finished all the planned work and essentially wasted two weeks of my own spare time. I also described this situation to the FARM, and it looks like, they simply do not give a shit about community contribution. Neither them, nor Rockchip as a company in general I tried to complete the work in progress making use of my another M4 (also has the same Fairchild FUSB302 controller for PD), however it is useless, because USB3.0 and DP related pins are not wired at all Btw., this M4 of mine is also kind of faulty: HDMI port stopped working in the very beginning of its life, now it is completely headless Seems, I have very bad luck with this company and I don't see any reasons to buy their products anymore or even invest my time into Rockchip's based stuff.
  7. Hold on ... it seems you are going too deep and too everywhere Things are not so bad to learn and "fix" everything at once. IMHO, fusb302, extcons, alternate modes handling in PD protocol and Rockchip's CDN_DP driver are the only things that worth research if you just want to see a picture on your DP monitor
  8. It is not only a matter of compilation, some important stiff is not yet there, so nothing to compile to get proper Type-C in 5.* kernels Don't look for black cat in the dark room, it will not help ....
  9. Mainline kernel is of fairly decent quality in regard to most popular RK3399 boards. All critical components work fine and have really good support. But something, which makes such boards outstanding, still doesn't work in 5.* It is normal for the situation when vendor's developers are locked inside of their private sandboxes (they call it SDK, LTS branch whatever, we call it simpler - "legacy") and do not really see the world is bigger outside . However, I have good news for those who own RK3399 based SBCs with Fairchild FUSB302 controller responsible for type-c handling and power delivery protocol. This chip is widely popular, so there are some other users of its driver in the kernel and driver itself is very well elaborated (IMHO again). But it still misses many things that we, Rockchip+FUSB302 owners, really need. There is absolutely no need to write new drivers or wait when developers from Rockchip will do it (they won't). The driver deserves some extension and we will get both DisplayPort and properly working Type-C port (not statically fixed to USB3 host in the dtb, as many present maintainers do for their boards, but real DRD with role switching based on cable detection). I was working on this subject for two (or even three of last weeks, don't remember exactly anymore ) and managed to fill this gap and get working DP on this "silently abandoned" port. Dual Role support for Type-C was in progress, but it can be solved too indeed. Right now, I have neither technical possibility nor motivation nor even time to continue anymore. The best what I can do is to recover what I've lost and handover my patches to some other volunteers who can/want to continue development (but even this needs a lot of time). My plan A was to deliver those features to my lovely Armbian community, and then try pushing it upstream.
  10. Are you referring to mainline 5.* kernels? If so, display-port cannot work there due to such reasons: 1. If you enable cdn_dp node in device-tree, its driver will fail to bind making parent rockchip_drm driver to also fail due to incomplete structure - you will loose all other working video outputs (including HDMI) in this case This happens because of: 2. There is no extcon notifications support in the present fusb302.ko driver. Rockchip's cdn_dp driver doesn't simply know when DP sink is connected and what is current pin assignment without extcon notification. 3. There is no DisplayPort alternate mode handling in the same fusb302 driver. This is very important thing which actually enters DP mode and enables physical link between DP and your monitor. I've been working on this subject in kernel driver till today and already implemented missing things. But my NanoPC T4 board died, so I cannot continue anymore and desperately give up ...
  11. Oleksii

    M4 Died

    My NanoPC T4 seems also died today with same symptoms Yesterday it stopped booting from MMC with only red power-on light and no other attempts to boot... Then I inserted sd-card and managed to boot from it in MASKROM mode. So I decided that main image is corrupted and planned to play with recovery today. This morning, it couldn't boot at all, neither MMC nor even SD - still the same red light only and that's it. Then I connected the board to PC via type-c port. It was detected as MASKROM device, but attempt to clear internal flash simply failed. I tried different proven to work PSU (works fine with M4), another SD card, detached SSD, HDMI etc. Now I see picture which is even worse: led slightly blinks one time and no power .... damn it
  12. Oleksii

    NanoPC T4

    It is not so obvious I only consider the state in the mainline kernel as a reference (because I decided for myself to track changes since 5.* only). And I see that USB Type-C controller changes its state from "host" to "gadget" and almost immediately powers off during the boot. It should be correctly handled automatically by the driver on this board according to my understanding. And forcing to host mode is imho just a workaround for some issue in the current driver (or some other problems in device tree).
  13. Oleksii

    NanoPC T4

    1. I still have quite shallow understanding of Armbian's internals 2. I use most up-to-date kernel revisions all the time in experimental mode and those are always several month ahead of Armbian's I suppose 3. I'm not sure that forcing controller to host mode purposely is a right fix - I miss experience and knowledge for such decisions. I did it for my personal sake and my own risk and clearly admitted this in the message above 4. Submitting the code to community project - is about 100% confidence and responsibility for me 5. Just have a look on the DT overlays capabilities - this was designed to provide some decent scalability potential and could be good compromise for you
  14. Oleksii

    NanoPC T4

    Yep, most probably file names will collide I use custom 5.* kernels all the time with optimized configuration + some DT tweaks, so I don't usually care about linux-dtb-current-rockchip64 updates. And if you want to overcome this, you may simply give your customized *.dtb a new name (make sure it is also correctly specified in the armbianEnv.txt). As another option, TD overlay might be handy too. However, I would admit with every mainline kernel version increment I keep less and less of my custom patches For the moment, I have only one important that fixes Type-C on NanoPC T4 (and still, no 100% confidence it is right way to fix) and one small patch to enable ES400 mode on emmc for NanoPi M4.
  15. Oleksii

    NanoPC T4

    I managed to make Type-C port working on 5.* kernels by forcing its mode to "host": &usbdrd_dwc3_0 { dr_mode = "host"; status = "okay"; };