Jump to content

astrosynthesist

Registered User
  • Posts

    12
  • Joined

  • Last visited

  • Days Won

    1

astrosynthesist last won the day on September 30 2020

astrosynthesist had the most liked content!

Profile Information

  • Location
    Ontario, Canada

Recent Profile Visitors

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

astrosynthesist's Achievements

Settling In

Settling In (2/7)

1

Reputation

  1. Hi everyone, Tl;dr: (very bottom) I'm thinking I have found a way to finally control fan speed from the OS, will be giving it a try tonight. (rest of post) I want to add Thunderbolt 3 to the ultrabay, if Swung Huang, or High Voltage, or Gerald, or any of the other major contributors are interested to help please contact me, otherwise if someone here has experience designing Thunderbolt 3 devices please PM me. Otherwise I will do it myself, slowly. I'm back, and I'm reengaged with this project. It's been a long hiatus but I have renewed vigour. I still have about 15 of the ultrabay connectors and it looks like there's still one supplier out there with more, but sold in bulk. So, to me the solutions so far have been relatively inelegant (no offence intended, they are outstanding achievements!) and I have a crazy idea. I'm starting to work towards a Thunderbolt implementation for the ultrabay. If anyone has experience working with the 6000 or 7000 series controllers, I found I can get them, and I also found the datasheets for them (under codenames Alpine Ridge (6000 series) and Titan Ridge (7000 series) ). If anyone here has Thunderbolt design experience I could use your help. My goal is to make a reference design which can be updated for other laptops with expansion ports exposing PCIe. I plan to utilize the 20V B+ voltage for USB-PD as well, since the ultrabay port was designed to feed a hungry GPU it can stand to hold a modern USB charge port, and maybe, just maybe, there's a slim possibility of charging the laptop through it too. Schematically it's possible as the battery is charged off of B+ but I don't know how the EC/PMIC will react when there is no current being sensed from the DC jack nor the Battery current sense resistors due to power backflowing from the ultrabay. Some notes to support my ideas: 1. The expansion bay has an AC_DETECT pin, so the PD controller will know whether it can act as a source or sink 2. 3V, 5V, and 20V are all exposed to the port with high current delivery capabilities so it can sink quite a bit of power 3. Mouser is stocking 6000 and 7000 series Thunderbolt controllers 4. I plan to work with the following PD chip: TI TPS65983B 5. Important discovery to simplify SMBUS spoofing: No arduino is actually required to spoof the SMBUS temperature sensor as there are many SMBUS/I2C sensors that already exist with the correct address space, however I might consider adding a fan to my design and actually using the temperature sensing capability on the port without spoofing, to help regulate the PD circuit temperatures. Importantly, the schematic says that the address for the SLI temp sensor is "0x9C". This is a bit of a misnomer. SMBUS/I2C addresses are 7 bit, with the last bit denoting read or write. This means that any temperature sensor that can be addressed to the right-shifted address "0x4E" or "0b1001110x" will work, basically, and there are a lot out there. The simplest part I could find to allow you to spoof a fixed temperature would be the MIC281-6YM6-TR, however I cannot find it available for low purchase quantities. However, there are tons of other parts which can be custom-addressed to 0x4E, just most of them with built-in temperature sensors and not remote sensing capability (I like remote sensing because it is defeatable, devices with local sensing will give a real temperature value to the EC which may not be desirable, but would likely be fine for the passive pass-through adapter most of you have). An example device would be: https://www.ti.com/lit/ds/symlink/tmp1075.pdf 6. TB3 can pass up to 4 lanes of PCIe per port (and also 20 Gbps USB!). I plan to add 2 TB3 controllers, only one will support USB fast charging but both will get 4 lanes of PCIe. The bottleneck on even a 1080Ti on PCIex4 3rd gen is negligible to me, and this is an acceptable compromise in my opinion to keep this laptop chooching well into the 2030s. Well, unless we all need a TPM2.0 by then. But I digress. I hope someone reaches out to help with the implementation! Currently, my ultrabay connectors are not for sale so please don't message me asking for them. Once this project concludes I'll either be selling them attached to cards, or I'll be selling them to give up once and for all, haha! Oh, by the way, I don't think there's much point in exposing the built-in sata port. I was toying with the idea of putting an eSATApd port on the adapter but there are a bunch of reasons why I think it's not really worth it: 1. It's impossible to source eSATApd USB3.0 connectors 2. It's nearly impossible to source normal eSATAp connectors (with or without 12V support) 3. The SATA port in question isn't even a good one - it's SATA Gen 1 4. A Thunderbolt controller will exceed all performance metrics of a SATA Gen 1 port for data throughput as well as having better power delivery options. My project will be open source when all is said and done, so if you want to add SATA support then you are welcome to add it yourself after the fact. I am someone who loves to utilize every single possible feature available to me, but once I noticed it was SATA Gen 1, it sealed the deal for me that it just wasn't worth the extra effort. I don't know why I love this laptop so much but I still absolutely love my Y510p. I will be doing component-level repairs on it to fix my audio and charging issues as well. Thankfully, my battery is still at around 90% design capacity, though it doesn't really mean much for longevity when this thing is going full tilt, lol. If all of this goes well I'll probably try my hand at making a custom extended battery pack for the system later. Finally, to address the long-hated inability to manually control fan speed on the Y510p, I discovered a utility today which I believe will solve our problems. I was looking for a way to override the SMBUS outputs of the built-in thermal sensors with a mean, non-compliant circuit, when I came across this relatively hard-to-find utility (at least it was totally new to me): https://github.com/hirschmann/nbfc "Notebook Fan Control" interfaces with the ACPI on laptops and can write values to the EC to spoof temperatures or directly manipulate the registers holding fan speed. No need to try to electrically override the SMBUS (thank god!). There is currently no config for the Y510p however I intend to make one tonight. I have full confidence that this should make manual fan control possible on our laptops once and for all. There have already been quite a few Lenovo laptops successfully configured for use with it, including a Yoga 2 which may share either the same or very similar EC chip that we have.
  2. I was able to successfully source 20 connectors from Newark at $12 CAD, so I'm back in the game. Please don't flood me with messages, I need them for now for prototyping, just know it is possible to get them from Newark/Farnell in smaller quantities than 500. If they're giving you a hard time send me a PM and I'll give you my order number as a reference. If I decide I don't need them anymore, I'll post here!
  3. So it appears that my fear came true and SOMEBODY bought out the remaining stock on Newark (or some other distributor using the same supplier) underneath my order while I was waiting to get the funds to make the purchase. I don't know who has the funds to buy 294/500 connectors but I hope to god they don't show up on ebay at insane prices for each. Boo. I'm treading water at this point. Sorry everyone. I can only do little things with the board design but no practical testing for me until I can find a new source for the connector. As of writing this, the Newark site is showing 294 in stock but they are reserved for a sale pending a stock update according to the phone representative.
  4. I can't believe I have never heard of it. I'll have to give it a try, thanks! @LeapingLamb I managed to get Newark to reduce their minimum order quantity to my requested 20 connectors by phoning. Honestly anyone on here if you try phoning Newark/Farnell (same company) they are likely to help you out. Also according to the representative I spoke to they aren't actually obsoleted for them; they could in theory order more if they ran out.
  5. Actually I don't think you were the guy I was referring to but even if you're someone else I appreciate that you have experience in this matter :). I specifically was hoping to tear down the dlls and find the call that the energy management app makes to the EC to make it do a dust cleaning. If that is the best we can do it is still preferable to me than using a screen scraper app to press the "dust cleaning" button. Any control granularity found that is better than that would be a bonus.
  6. Hello everyone, I'm sorry for the sabbatical. What with COVID and my move, it's been a crazy time in my life. The good news: My eGPU open source project is not dead Someone else has forked my project as of yesterday or today (what prompted me to make this post) so you may get it sooner than I can produce it from that person I now have room to build up a proper electronics lab The bad news: I just investigated that forked project and it appears for the time being it is private. We will see if it comes public at a later time. I encourage someone else in the community to try their hand at a fork I have some other intervening projects including actually setting up my new electronics lab that will take up a lot of time I never managed to pursue the guy who I found that has reverse-engineered the Lenovo energy management app for different reasons. I got him on Discord but never actually chatted with him. I can't remember if I mentioned this but I did find a guy who disassembled the app and am hoping there will be a way to control the fan with no hardware mod in software. I have a job that requires lots of travel abroad, which will slow me down further My Y510p has been on loan for a little while (also has a weird power issue I need to diagnose, but that's not for this thread) For the time being, feel free to keep an eye on my open source project as well as looking out for a fork, which may produce results before I can. My biggest problem is getting proper differential pair routing on the board using Altium's software. It's still new to me and for some reason auto-routing is failing in this regard. That's where I left off. After there is a working model for the pcb I will be exploring a nifty cabled design that I think will be popular. I will try to be more active on this forum which will inspire me to concentrate more fully on this project, lol Edit: Forked project available here
  7. @Swung Huang is it not theoretically possible that for those people who report it not working, they are either on a different EC version than the one you tested, OR the temperature sensor itself got hot for some reason or another? (Maybe the temperature sensor you picked has a lower "high limit" than the one on the original board, so if it reaches a warm but not super hot temperature like 45 or 50C it triggers the EC shutdown. I like going with a temperature sensor, because then any hobbyist who is making one of these boards can do it WITHOUT the need for a microcontroller programming interface. I was briefly hoping that the SMBus line could talk to the system fan speed controller, but alas according to the system schematic the EC handles the speed control directly. So I would expect the only way the SMBus line could affect the fan speed is if the EC is reprogrammed with a custom firmware, which is above my skill level (and would negate the need for the original SMBus hardware mod in the first place since the EC would be reflashed for this idea), though I would happily perform a bios update to trade for hard-wired buttons for fan speed control. Though I have also tried to hunt down the mechanism by which the Lenovo Energy Management app talks to the EC to change the fan speed for "dust removal". I have a sneaking suspicion it's hidden in a dll and a call to rundll32 with the right command might unlock this ability once and for all without any need for weird scripts to constantly run the dust removal app. Anyways, back on topic, it's good to know that even if someone wants to make this board and can't source a temperature sensor/program a microcontroller, that the cracked BIOS is still an option, so thank you for that @High_Voltage
  8. Ahahahaha, that shows my inexperience with Arduinos! I almost always double check if a random file extension is a text file but I assumed since it is a microcontroller it must be a binary. Thanks! Once I see how it works maybe I can figure out how to take advantage of Swung's handy tip so there need not be any flashing required on the final design.
  9. @High_Voltage, would it be possible to release the source code for your hardware mod? I only see a precompiled binary. I want to implement it on the board but since it only requires 2 GPIO pins, it might make more sense to use an ATTiny 25 rather than a whole ATMega328P. I haven't played with Arduino-type hardware much so it'll be interesting to see how to effectively program a barebones microprocessor like that. I have rebuilt the ultrabay connector footprint in Circuitmaker and have the basic schematic done for the interface board, based off of the Gerald v2 schematic plus the v3 mod. I am still going to download KiCAD eventually but so far I just haven't bothered yet.The only thing I'm missing is the SMBUS stuff because, well, as I said I don't think baking in a whole arduino makes sense. Once this is worked out I can start playing with the layout. And for you people out there who want a cabled version, I am first going to try to replicate the Gerald board, and once that design is working I don't mind trying out an OCuLink version or integrating with the High_Voltage cabled project for fun. That's a ways away (but you can always fork my project!)
  10. Thank you for the tips! Basically in my case I got this laptop at the beginning of university and found out that the battery life isn't so great and the case wasn't durable enough for lugging around in a backpack (Lenovo repair actually came through on this one, besides losing a few screws), so I did something drastic; I stuck it behind my TV and turned it into a Linux server for about 5 years (keeping the battery in my fridge) until a few weeks ago. It was my personal cloud server and I would remote into it from pretty much every device, my phone or school computer etc and it was great to learn coding and do scientific computing with. I eventually got a Panasonic CF-53 as my daily driver, and would use it as a virtual desktop or tty to the y510p when I had wifi/wwan access, and as a respectable standalone machine otherwise. Consequently I didn't acquire too much software or follow the gaming community much during those 5 years so now I have a HUGE collection of games from the 1990s to early 2010s and maybe 5 games since then that I play, and really the only thing I am left wanting for is a better GPU and soon VT-d for passing the egpu through to my 32-bit Win 7 virtual machine. (I tried running Win 7 32-bit directly on the hardware but it was pathetic and only used 2GB of RAM no matter what I did in the BIOS). I've been eyeballing this adapter for years but could only afford it really since getting a job... unfortunately now the price for an adapter doesn't reflect the value of the computer or simply swapping everything out to a mini-ITX motherboard. Besides, as an electronics enthusiast I like a challenge, and since I normally work with analog circuits this project is a good way to hand-hold me into high-frequency digital circuitry. TL;DR I don't think everyone else will have the same experience as myself BUT I think this computer still holds its own quite well, especially for running games with SafeDisc or SecuROM that a modern Win 10 machine couldn't do anymore. I am going the virtualization route but I can see others picking this up as a great value secondary machine for older pc games (in which case a semi-permanent egpu adapter isn't much of a problem as it's probably staying put most of the time anyways). Just a few thoughts as to why this project still gets attention!
  11. Hello everyone, Due to the costs of obtaining a pre-made adapter being too prohibitive for me where I live, especially considering the possibility of just getting an IMB-180 motherboard which would offer cooling benefits as well as more SATA ports and (for me) COM ports, for similar or less money, I have decided to try and make my own version of this adapter based on other content that has all been posted in this thread. I will be doing it in Altium CircuitMaker so it will be an open-source project. Any electronics hobbyist should be able to put one together this way! Now, all the pieces of the puzzle are available. The only thing to do will be to make the trace layout. But my first step will be to amalgamate all of the information here (I have downloaded each of these, so if one of these breaks in the future let me know and hopefully I'll be around to relink it): y510p circuit diagram (not necessary but a VERY handy resource): http://kythuatphancung.vn/uploads/download/6361a_NM-A032_r1.0_schematics.pdf gerald egpu adapter v2 spec dimensions and circuit diagram (Final design must ELIMINATE R2 to make it v3 spec! IMPORTANT): https://drive.google.com/file/d/1iH1KTgJ-kCK_Rur9w9UyxOWoveVMTtxF/view SMBus fix (If this is not implemented then you need the BIOS fix from here instead: https://www.techinferno.com/index.php?/forums/topic/12014-lenovo-y410py510p-bios-mod-to-enable-nvidia-egpu-support/&;they are mutually exclusive, one OR the other, but no need for both): https://mega.nz/file/3AB0iSoa#v24VPHjNL2NkvEdeY3ZTkrmRWhcD1du_-N-JZfgTf7M Ultrabay connector part number: 2199015-1 (made by TE connectivity) Currently available from a couple of sources. I want to be able to order one for myself so JUST IN CASE someone tries to buy up all the stock in bulk I will leave this to you to find. It's not too hard, I promise Altium CircuitMaker Project link: https://workspace.circuitmaker.com/Projects/Details/astrosynthesist/Lenovo-y510p-eGPU-Adapter NOTE as of the time of this posting, that project is empty. Hopefully over the next couple weeks depending on my ability to commit time to it I hope to have that project finalized. Next steps: - I want to bake-in SATA support much like Swung's adapter. The Gerald board doesn't have the measurements for that part of the board so I'll have to break out the calipers or something. - I personally have limited 3d printing experience, and virtually no model design experience, so once this board gets finalized, a community-sourced case would be great!
  12. Hello Swung! Excellent work! I've been following this thread for a while and I'm finally ready to buy myself. I sent an email to the above mentioned account inquiring about ordering an extender :) Please check your junk folder! Once this project is not economically viable for you, if you aren't going to make any more for profit, it would be immensely appreciated if you could release your Bill of Materials, schematic, and 3D models. Thank you so much, the Haswell CPUs are still good enough for my needs but that Nvidia 750m is just not holding up for a couple of games. Best.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.