00:05
<
{^_^} >
davisking/dlib#264 (by miscellanea, 3 years ago, merged): Add arm files for libpng from official libpng v1.6.7 to support neon …
00:05
<
samueldr >
it might be, depends on how freeimage is actually using libpng
00:23
<
clever >
pbb: the entire username for haskell-init is 2mb
00:23
<
clever >
pbb: userland*
00:23
<
clever >
pbb: how large is the userland for u-root?
00:24
<
clever >
ah yeah, go tends to build static things
00:24
<
pbb >
I think rust could achieve better size
00:24
<
pbb >
go has a big runtime component
00:24
<
clever >
is the kexec in go as well? or are you still shelling out to ELF kexec?
00:25
<
pbb >
I think it's doing the syscall directly from go
00:25
<
samueldr >
in my case it's mostly because I'm not familiar with either, and for the few steps taken with each, Rust seemed to be more my jam
00:25
<
samueldr >
nothing against though :)
00:25
<
clever >
pbb: that feels wrong, given how badly ive seen kexec break in the past...
00:25
<
clever >
pbb: which library are you using for it?
00:25
<
samueldr >
depending on how u-root works, it might be feasible to rely on u-root's userland tools, while having an app built in something else
00:26
<
pbb >
they are literally just doing the syscall
00:26
<
samueldr >
pbb: K20 pr K20 pro?
00:26
<
pbb >
samueldr: K20
00:26
<
samueldr >
good, so davinci, I presume
00:27
<
pbb >
I started adding support in my fork
00:27
<
clever >
pbb: ah, but it looks like its also parsing the linux ELF file, and breaking it up into segments already
00:27
<
pbb >
1) I don't know what some parameters in the device nix files are
00:27
<
clever >
pbb: that parsing stuff was once broken (due to hardening flags) with the kexec binary in nixos
00:27
<
pbb >
2) the kernel fails to compile with the mobile nixos kernel builder
00:27
<
samueldr >
oh, btw, pbb, feel free to ping me (here) with Mobile NixOS issues, at worst I'll simply be busy and answer when I have the time
00:27
<
clever >
pbb: where is line 21's Load( called from?
00:28
<
clever >
pbb: oh, nice, github can answer that now
00:28
<
samueldr >
e.g. TWRP
00:29
<
samueldr >
but it's
*highly* likely they're the same tissot and lavender
00:29
<
pbb >
how can I get them from a TWRP image?
00:29
<
samueldr >
if you nix-shell path/to/mobile-nixos, it'll open up a shell with a few tools
00:29
<
samueldr >
you'll get unpackbootimg
00:30
<
samueldr >
mkdir some-dir unpackbootimg -o some-dir -i twrp.img # IIRC
00:30
<
clever >
pbb: yep, thats all the logic i didnt want to re-implement in haskell, but go nut already did it in go, lol
00:30
<
samueldr >
mkdir some-dir ; unpackbootimg -o some-dir -i twrp.img # IIRC*
00:30
<
samueldr >
it'll print them to the console, and also dump a bunch of files in some-dir... among others, files containing those same values in printed
00:31
<
clever >
pbb: yep, it even has the trampoline, which may be tricky to get into the haskell binary
00:31
<
samueldr >
the "soc" value, is the name of the SoC, as per the OEM... Qualcomm are a bit annoying with those names
00:31
<
pbb >
thanks, got those values :)
00:32
<
pbb >
should I copy the cmdline 1:1?
00:32
<
samueldr >
as of right now, yes
00:32
<
samueldr >
we might end up not using those at all
00:32
<
samueldr >
I'm still gleaning information :)
00:32
<
samueldr >
(speaking of... I might have bought myself a new personal cellphone... so one more bit of data soon)
00:33
<
samueldr >
so, going back to SOC name
00:33
<
clever >
samueldr: and here's the fun part, can you get rust to compile this? :P
00:33
<
samueldr >
I go with what GSM Arena uses, which is likely fun
00:34
<
pbb >
I went with what I saw in the repository names for my device
00:34
<
clever >
pbb: oh, even worse, u-root will only work on x86-64, it wont work on i686, it wont work on arm
00:34
<
samueldr >
here it would be SDM730
00:34
<
pbb >
yes that's what I chose too
00:34
<
samueldr >
they started dropping "msm" and using "sdm" instead
00:34
<
clever >
pbb: you need to fill in the missing trampolines for other arches
00:35
<
samueldr >
clever: that's only if you implement like "real" booting, right?
00:35
<
samueldr >
kexec wouldn't need ASM?
00:35
<
clever >
samueldr: kexec always needs that asm trampline
00:35
<
samueldr >
right, but I can use another userland kexec :)
00:35
<
pbb >
yes they also have a wrapper for kexec-tools in u-root
00:35
<
clever >
you can just ship the ELF binary nixpkgs already builds
00:35
<
samueldr >
I wouldn't necessarily want to build a userland, but rather prefer using a known good userland
00:36
<
samueldr >
and later leave crazy peeps like... you clever... do fun stuff :)
00:36
<
clever >
framebuffer seems like a fairly simple thing to handle from haskell code
00:36
<
pbb >
ok next thing for me is to get the kernel to compile
00:36
<
samueldr >
my sanity is not worth dealing with implementing kexec in addition to working with phones!
00:37
<
samueldr >
pbb: have you got a config file?
00:37
<
clever >
samueldr: oh, since you already have nixos booting, what happens if you just `systemctl kexec`
00:37
<
clever >
samueldr: that should just tell systemd to reboot via kexec
00:37
<
clever >
samueldr: if that works, youll have a decent amount of info
00:37
<
samueldr >
clever: don't know yet, but I figure since the kernels aren't built with kexec on (yet) it might fail?
00:37
<
pbb >
and a source tree from lineageos 16.0
00:37
<
pbb >
but it's not compiling
00:37
<
clever >
samueldr: how it fails will answer a lot about where we need to go next
00:38
<
samueldr >
pbb: can you share the output?
00:38
<
pbb >
I will try it again tomorrow and save the log
00:38
<
pbb >
I tried on the weekend but didn't save the output unfortunately
00:38
<
samueldr >
do you remember what it looked like?
00:39
<
pbb >
errors, many errors
00:39
<
samueldr >
my build machine is currently tied into doing non-reproducible build of lineageos, in preparation for my next phone... in waiting for an actually worthier OS :)
00:39
<
samueldr >
ah, it's still downloading, not building
00:39
* samueldr
sneaks in a quick build
00:39
<
pbb >
I always use the lineage4microg docker cicd container for building lineageos
00:40
<
pbb >
it should be kinda reproducible
00:40
<
samueldr >
I'm using phhusson's treble experiments's docker thingy
00:40
<
samueldr >
yeah, kinda
00:40
<
samueldr >
since the device I'm going to use it on can use GSIs, and AFAIK has not had a "proper" port
00:40
<
samueldr >
fun thing: I'm 99% sure I can use a mobile-nixos built kernel with GSIs, as long as I keep the config stock~ish
00:41
<
pbb >
I am not so sure about that
00:41
<
clever >
[374/2315] Generating radv_gfx10_format_table.h with a meson_exe.py custom command.lib.cpp.o'.and_wayland-drm_wayland-drm-protocol.c.o'.ocol.c.o'.
00:41
<
pbb >
depends I guess
00:41
<
clever >
this bisect is going to take a while
00:41
<
samueldr >
pbb: I was booting MIUI accidentally with my first builds :)
00:41
<
pbb >
on my phone the kernel source is the thing keeping developers from building a non-GSI android 10 rom
00:41
<
pbb >
I'm using a GSI too at the moment, because of that
00:42
<
samueldr >
but never tried using it... maybe something is still missing
00:42
<
pbb >
samueldr: lol ok, but you based your mobile-nixos image on the kernel source that would be used for this android version, right?
00:42
<
pbb >
because there is no kernel source for my device with android 10
00:42
<
samueldr >
the xiaomi open source tree, as released by xiaomi
00:43
<
samueldr >
with their config
00:43
<
pbb >
ok then it makes sense that it works if the versions match
00:43
<
samueldr >
though I guess it was missing the QACLD stuff, not 100% sure yet
00:43
<
pbb >
but I doubt the android 10 GSIs would work well with the android 9 kernel xiaomi released for davinci
00:45
<
samueldr >
pbb: is your source tree up to date?
00:46
<
pbb >
samueldr: it's pretty up-to-date with upstream linux, yes
00:46
<
samueldr >
sorry, your mobile-nixos one :)
00:46
<
samueldr >
seemed to be missing the sdm730 option
00:46
<
pbb >
hmm it should be up to date
00:47
<
samueldr >
I figure that's not the issue you had, and that the kernel
*did* start to be built
00:47
<
pbb >
ah yeah I didn't commit everything before I shut off that build machine I was using
00:48
<
samueldr >
that repo thing is really eating at my bandwidth
00:51
<
pbb >
samueldr: I fixed that thing
00:52
<
pbb >
kernel now starts building if you pull again
00:52
<
samueldr >
(I side-stepped the issue)
00:53
<
pbb >
the funny thing is those offset parameters were all correct, I copied them from tissot
00:53
<
samueldr >
I was mainly verifying it wasn't
*that* issue...
00:53
<
samueldr >
yeah, most of them are shared in qualcomm devices of a same "vintage"
00:53
<
samueldr >
and for a couple generations even
00:53
<
samueldr >
unsurprisingly
01:01
<
pbb >
ok I've started the build, even though I could only test with cross-compiling for now without a proper arm build machine
01:02
<
pbb >
now it's building the toolchain I guess
01:02
<
pbb >
we'll see tomorrow
01:02
<
samueldr >
all stage-1s should build with cross-compilation, as a goal to Mobile NixOS
01:03
<
samueldr >
in fact it wouldn't surprise me that OEM downstream kernels fail to build with native builds
01:03
ryantrinkle has joined #nixos-aarch64
01:03
<
samueldr >
no reason, plain cynicism :)
01:03
<
pbb >
makes sense, they probably always cross-compile
01:03
<
clever >
related, the fork of gcc i was using for VC4 cross compile
01:03
<
samueldr >
most definitely do
01:03
<
clever >
it only builds with out of tree builds
01:03
<
clever >
when you ../gcc/configure
01:04
<
clever >
whoever forked it to add vc4, only built it that way, and broke in-tree builds
01:05
<
pbb >
what the f I'm getting a hash mismatch in correct-pwent-parsing-issue-and-resulting-build.patch for glibc
01:06
<
clever >
pbb: i think i saw that in #nixos already, the patch was changed ages ago, but due to binary cache reasons, it wasnt re-fetching
01:06
<
pbb >
and in my case one of my machines (the coordinating one) has the old version in the store, but the other (building) one doesn't
01:07
<
pbb >
so either way I get a hash mismatch
01:07
<
pbb >
no that doesn't make sense
01:07
<
pbb >
enough for today, I'll try to build again tomorrow
01:20
ryantrinkle has quit [Ping timeout: 265 seconds]
01:48
<
samueldr >
I had a hash mismatch too
02:24
ryantrinkle has joined #nixos-aarch64
02:29
h0m1 has quit [Ping timeout: 250 seconds]
02:31
h0m1 has joined #nixos-aarch64
02:53
<
samueldr >
looking at it idly while doing misc. stuff
02:53
<
samueldr >
it looks like that (at least for the xiaomi source) it might not compile at all with gcc
02:53
<
samueldr >
from the OEM kernel
02:53
<
samueldr >
Linux version 4.14.83-perf+ (builder@c4-miui-ota-bd44.bj) (clang version 6.0.9 for Android NDK) #1 SMP PREEMPT Sun Oct 27 22:42:46 CST 2019
02:54
<
samueldr >
looking to see if a clang-based builder is trivial
02:54
<
samueldr >
it
*may* end up almost a requirement anyway since AFAIK the official android tooling is all based on clang
03:13
orivej has joined #nixos-aarch64
03:32
<
clever >
samueldr: i wonder what the boot rom will do if the chip is bigger then expected...
03:32
<
samueldr >
I think the series goes up to 16MB, not sure though
03:32
<
samueldr >
ugh, had to pick the wrong raspberry pi to check
03:32
<
clever >
-rw-r--r-- 1 clever users 2.8M Nov 2 18:04 start.elf
03:32
<
clever >
thats big enough to hold the entire gpu firmware, and still have some space to spare
03:34
<
samueldr >
I don't see the spi flash chip on the 4
03:36
<
samueldr >
clever: doesn't say where it is :)
03:36
<
samueldr >
nothing on that side is a an SPI chip
03:37
<
clever >
samueldr: what are the 3 things between the audio and usb controller?
03:38
<
samueldr >
that's what I was about to check
03:38
<
samueldr >
written so smol
03:38
<
samueldr >
about to test that phone's manual focus ability :)
03:39
<
clever >
2 of them have 8 pins each, so those are likely
03:46
<
clever >
samueldr: not enough focus on that image, maybe you can do better?
03:46
<
samueldr >
how's that?
03:46
<
clever >
much better!
03:46
<
clever >
compare to what i just linked, and youll see how drastic the diff is
03:46
<
samueldr >
I can do better, it looked better on display
03:47
<
clever >
samueldr: is the topleft chip 1H909?
03:48
<
clever >
google cant find a single thing on those chips
03:51
<
clever >
samueldr: checking the schematic, i can see a 6pin chip connected to the AV jack
03:51
<
clever >
and i do see a 6pin thing, with an oddly symetrical set of parts around it, on your images
03:52
<
samueldr >
the one with what looks like three caps going to like Z167?
03:52
<
clever >
thats something to do with audio
03:53
<
clever >
its taking a pwm square wave, and running it thru a low pass filter, to turn it into analog
03:53
<
clever >
the chip is a pair of buffers, to drive things and prevent backflow
03:53
<
clever >
and the caps then knock off the high freq
03:54
<
clever >
but the 8 pin things right next to it, arent shown on the schematic
03:54
<
clever >
so they arent involved in audio?
03:55
<
samueldr >
couldn't find results about those numbers
03:56
<
clever >
samueldr: do you have an ohm meter?
03:57
<
clever >
176 flashrom -p "linux_spi:dev=/dev/spidev0.0,spispeed=${SPI_SPEED}" -w "${TMP_EEPROM_IMAGE}" || die "flashrom EEPROM update failed"
03:58
<
samueldr >
I wouldn't really want to poke around with it :)
03:58
<
clever >
169 dtoverlay spi-gpio40-45
03:58
<
clever >
171 modprobe spi-bcm2835
03:58
<
clever >
samueldr: its using regular old flashrom on the spi device, to update the firmware
03:58
<
clever >
samueldr: so the chip is likely wired to the spi pins on the gpio header?
03:58
<
samueldr >
I'm beginning to think it could be on-die
03:59
<
clever >
163 # Bootloader EEPROM chip-select is muxed with audio pin so disable audio
03:59
<
clever >
164 # LDO first to avoid sending noise to analog audio.
03:59
<
clever >
165 "${VCMAILBOX}" 0x00030056 4 4 0 > /dev/null || true
03:59
<
clever >
166 dtparam audio=off
03:59
<
clever >
they put the bloody chip select pin on one of the audio channels, lol
03:59
<
clever >
thats a strong sign that the spi is near the audio stuff
04:00
<
clever >
168 # Switch the SPI pins to boot EEPROM
04:00
<
clever >
169 dtoverlay spi-gpio40-45
04:00
<
clever >
./boot/overlays/spi-gpio40-45.dtbo
04:02
<
clever >
[nix-shell:~/apps/rpi/firmware]$ dtc -I dtb -O dts boot/overlays/spi-gpio40-45.dtbo
04:02
<
clever >
cs-gpios = <0xffffffff 0x2b 0x01 0xffffffff 0x2c 0x01 0xffffffff 0x2d 0x01>;
04:02
<
clever >
brcm,pins = <0x2d 0x2c 0x2b>;
04:02
<
clever >
brcm,pins = <0x28 0x29 0x2a>;
04:03
<
clever >
its clearly doing something with gpio 40 to 45
04:06
<
clever >
samueldr: dang, those arent on the gpio header, though it makes sense why they may keep them safe
04:08
<
clever >
gpio 40/41/42 (0x28/0x29/2a) are either PWM0/PWM1/GPCLK1 or SPI2_MISO/SPI2_MOSI/SPI2/SCLK
04:09
<
clever >
43/44/45 are 3 chip enable lines, for spi2, CE0/CE1/CE2
04:10
<
clever >
and flashrom is targeting 0 i think?
04:10
<
clever >
so gpio43 somehow leads to the spi flash
04:10
<
clever >
and the data in/out, are on the headphone jack
04:10
<
samueldr >
I was taking slo-mo video of the board
04:10
<
samueldr >
the quality was terrible
04:10
<
clever >
samueldr: if i'm reading this right, you might HEAR the boot code, if you have headphones plugged in
04:14
<
samueldr >
looked closely with the camera
04:14
<
samueldr >
can't see anything obviou
04:14
<
samueldr >
obvious*
04:14
<
samueldr >
using flashrom it might be possible to identify the brand?
04:14
<
clever >
samueldr: likely, but youll need to do the dtoverlay and mailbox stuff to enable those pins
04:15
<
clever >
samueldr: also try hooking up some headphones to see if you can hear flashrom dumping it
04:17
<
samueldr >
I don't really have the setup to
04:17
<
clever >
this is still some decent progress, i should order my rpi4 before i forget again, lol
04:17
<
clever >
just probing those 2 chips with a scope while i flashrom it should reveal the truth
04:18
<
clever >
oh, interesting!
04:19
<
clever >
the schematic for the av jack, says both pwm1 and mosi, for the left audio channel!
04:19
<
clever >
that agrees with the elinux wiki and what i found via overlays
04:20
<
clever >
it definitely looks like they are reusing the left/right audio channels, for the data
04:20
<
samueldr >
could maybe be this chip
04:20
<
clever >
163 # Bootloader EEPROM chip-select is muxed with audio pin so disable audio
04:20
<
clever >
164 # LDO first to avoid sending noise to analog audio.
04:20
<
samueldr >
though unlikely
04:20
<
samueldr >
too many legs
04:20
<
clever >
which LDO are they refering to...
04:20
<
samueldr >
pretty sure you need only one
04:21
<
clever >
the 6pin thing is on a 3v3_aud line
04:21
<
clever >
which is tied to LDO_OUT!
04:21
<
clever >
they are specifically cutting power to that 6-pin audio boosting chip
04:21
<
clever >
before they spi away
04:21
<
clever >
so you wont hear the noise!
04:22
<
samueldr >
how likely is it that those two similar 8-legged chips are both SPI flashes
04:23
<
samueldr >
there's one for the USB controller too, AFAIUI
04:23
<
clever >
that pretty much confirms it, they are doing the data on audio left/right
04:23
<
samueldr >
and it's next to the audio stuff
04:23
<
clever >
samueldr: the usb controller firmware is updated with a static ELF binary, rather then flashrom
04:23
<
clever >
[clever@amd-nixos:~/apps/rpi/rpi-eeprom]$ file vl805
04:23
<
clever >
vl805: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, for GNU/Linux 3.2.0, BuildID[sha1]=7b7aaa0a89aaa7d37a1d95b1acd980fd286d80af, stripped
04:23
<
clever >
i suspect its in the usb controller itself, and updated over pci
04:23
<
samueldr >
right, but that doesn't tell anything about the location of its firmware :)
04:23
<
samueldr >
or alternatively
04:23
<
samueldr >
the pi has two firmware chips
04:24
<
clever >
it could have its own spi flash, tied directly to the usb controller
04:24
<
clever >
samueldr: isnt that thing just to the north, the usb controller?
04:24
<
samueldr >
the heatsink is on top of the VLI chip
04:25
<
clever >
and i see one of the legs of the top most chip, going directly to the usb controller
04:25
<
samueldr >
that video I mage of myself just moving the raspberry pi slowly is really good
04:25
<
samueldr >
two legs
04:25
<
samueldr >
most likely pathing under
04:25
<
clever >
i think 1h909 is the usb firmware, which you update over pci
04:26
<
samueldr >
to the fifth from the bottom on the left
04:26
<
clever >
and the 4h908 is the bootcode.bin firmware
04:26
<
samueldr >
that would be my assumptions currently
04:26
<
clever >
and those part numbers are pretty close...
04:26
<
clever >
The Raspberry Pi 4 has an SPI-attached EEPROM (4MBits/512KB), which
04:26
<
samueldr >
do you know what we've done?
04:26
<
clever >
-rw-r--r-- 1 clever users 95K Nov 2 20:27 vl805-00013701.bin
04:27
<
samueldr >
we might have either confirmed the info or created confusion by being the only search result about that
04:27
<
clever >
the vl805 firmware is ~1mbit
04:27
<
samueldr >
(whenever my logs are indexed next)
04:27
<
clever >
while the rpi firmware is 4mbit
04:27
<
clever >
the usb firmware chip starts with a 1h, the rpi chip with a 4h
04:28
<
samueldr >
my mom told me about your kind of people
04:28
<
samueldr >
clever people
04:28
<
samueldr >
they're good to be in company of :)
04:28
<
clever >
those part numbers pretty much confirm things
04:28
<
samueldr >
there's good correlation
04:28
<
clever >
even if we cant read them, lol
04:29
<
samueldr >
1h909, 4h908, I'm sure of
04:29
<
clever >
and this chip is 32mbit, and has a 32 in its number
04:29
<
samueldr >
yeah, but vendors all have their scheme
04:29
<
samueldr >
like IIRC Q is for QFN here
04:30
<
samueldr >
(I read about that series since it's frequent on motherboards)
04:30
<
samueldr >
(and present on the chromebit, in another package)
04:30
<
samueldr >
I was wrong
04:30
<
clever >
every vendor may do it differently
04:30
<
clever >
flashrom may reveal the vendor and part#
04:31
<
samueldr >
might not look like so, with the picture blown up on your monitor
04:31
<
samueldr >
but that part is ₛₘₒₗ
04:31
<
samueldr >
ˢᵐᵒˡ even
04:31
<
clever >
error, unrenderable glyphs!
04:32
<
clever >
i can only see the s and l from the 2nd one
04:32
<
clever >
the rest are just boxes
04:33
<
samueldr >
3mm on their narrow axis
04:33
<
clever >
and somebody else has already soldered the pads on the usb chip, which are even closer
04:33
<
samueldr >
calipers won't reach on their larger
04:33
<
samueldr >
would say about 6mm
04:34
<
clever >
this guy just jumpered the pcie lanes to the usb3.0 lanes
04:34
<
clever >
oh, but now i can see where the usb firmware chip goes!
04:35
<
clever >
the one i couldnt confirm, is just going into the side of the pad
04:35
<
samueldr >
rotate the picture 180°
04:35
<
clever >
and the 2 others on the other side, also go directly into it, so thats 4 links
04:35
<
clever >
mosi miso cs clock, all accounted for!
04:36
<
clever >
and if i look at the same pins on the rpi firmware chip
04:36
<
clever >
i can see one of them goes directly to an audio channel on the boosted thing
04:36
<
clever >
thats definitely it
04:37
<
samueldr >
I hadn't realized
04:37
<
samueldr >
there's a triangle on the board!
04:37
<
samueldr >
to help you orient the chip
04:37
<
clever >
164 # LDO first to avoid sending noise to analog audio.
04:37
<
clever >
oh, this comment isnt saying noise to the chip
04:38
<
clever >
its literally, the noise i was asking you to listen to!
04:38
<
clever >
they turn off the audio amp, so you cant hear it
04:38
<
samueldr >
I'm betting there won't be
04:38
<
clever >
you would have to comment out that line of the script to hear the data
04:39
<
clever >
the script, for reference
04:39
<
clever >
165 disables the audio amp, 166 tells the kernel to stop trying to route audio out the port
04:40
<
clever >
169-171 configures the spi port to go towards the chip
04:40
<
clever >
176 flashes it
04:40
<
clever >
then 178-180 undoes the setup, so audio will work once more
04:40
<
samueldr >
I guess that the VLI chip doesn't need to go through GPIO since it has its own ways
04:40
<
clever >
its directly wired to the usb controller, so you have to tell the usb chip to update its own flash, over the pci bus
04:41
<
clever >
which also means it might be at risk of bricking?
04:41
<
clever >
enless the reflash part is hard-wired into the chip
04:41
<
clever >
though, it must have a way to unbrick, how else did they program things at the factory?
04:42
<
clever >
pre-programmed spi chips are more expensive
04:42
<
samueldr >
don't let it out of the chip
04:42
<
clever >
samueldr: you can always put it back in, sparkfun had a product for that
04:45
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
04:49
<
clever >
samueldr: which country do you live in?
04:49
<
samueldr >
is this a trick question? :)
04:49
<
samueldr >
I'm in a neighbouring province!
04:50
<
clever >
then youll have equal problems with out big nasty neighbor :P
04:50
<
clever >
america has export restrictions, on the bloody spi chip
04:50
<
clever >
Do you intend to sell or send these products to anyone in any of the following countries: Cuba, Iran, North Korea, Sudan, or Syria?*
04:50
<
samueldr >
ah, I was about to ask "nova scotia?" as a lark :)
04:50
<
samueldr >
sparkfun always has that question set
04:50
<
clever >
its only set on the rpi4 and the spi chip
04:51
<
clever >
the other products i'm ordering dont ask
04:51
<
samueldr >
well, I did order a raspberry pi zero from them
04:51
<
samueldr >
among other things
04:51
<
clever >
i had to answer this in email when i order an fpga a while back
04:51
<
samueldr >
do you get grossly overcharged by UPS?
04:51
<
samueldr >
or you use the more expensive USPS?
04:52
<
clever >
i have 4 major choices for shipping
04:52
<
clever >
usps, fedex, ups, or "economy"
04:52
<
clever >
and some have 2 tiers
04:53
<
samueldr >
maybe the order had restricted stuff, but each options were quite expensive
04:53
<
samueldr >
IIRC something like USPS being 20$, USPS 40$
04:53
<
clever >
"economy" is only $8, while the other ones go up to $60
04:53
<
samueldr >
oops, UPS being 20$, USPS 40$
04:53
<
samueldr >
but USPS/Canada Post can only charge 5$ for the service of doing the customs stuff
04:54
<
samueldr >
(in addition to the duties)
04:54
<
samueldr >
UPS charged me 52.89 of brokerage charges
04:55
<
clever >
i have had the surprise of paying those fees at the door once
04:55
<
samueldr >
that doesn't include the duty, taxes, and "other government charges" totalling 28.44!
04:55
zupo has joined #nixos-aarch64
04:58
<
clever >
Delivery Estimate: 1-4 Weeks
04:58
<
samueldr >
are you like... planning to hook that SPI chip to the board?
05:00
<
samueldr >
are the voltages right?
05:00
<
clever >
2.7V - 3.6V VCC
05:00
<
clever >
and the rpi is almost exclusively 3.3v
05:00
<
samueldr >
though otherwise I assume you're gonna use some tiny "magnet wire" to wire it
05:01
<
clever >
its just big enough to hold bootcode.bin and start.elf, with ~700kb to spare
05:02
<
clever >
how small can you make a uboot?
05:02
<
samueldr >
not sure
05:03
<
clever >
the other problem, is modifying bootcode.bin to actually look for start.elf in the spi chip
05:03
<
clever >
and modifying start.elf to look for uboot
05:03
<
clever >
the entire start.elf could be skipped if i port the open firmware
05:04
<
samueldr >
~/.../rpitianocore/RPi3_UEFI_Firmware_v1.11 $ ls -lh RPI_EFI.fd
05:04
<
samueldr >
-rw-r--r-- 1 samuel users 2.0M Nov 19 13:39 RPI_EFI.fd
05:04
<
clever >
samueldr: oh, do we have datasheets for the vl805?
05:04
<
samueldr >
tianocore can fit in 2MiB
05:05
<
samueldr >
on sunxi u-boot with SPL is 6xxKiB IIRC
05:05
<
samueldr >
(frankly, if we can get tianocore it would be much better than u-boot)
05:05
<
samueldr >
so if, let's say, the back half of the SPI is available, it's likely
05:05
<
samueldr >
I wonder how big the rpi4 tianocore is
05:05
<
samueldr >
(not "will be", but "is" :))
05:06
<
samueldr >
though AFAIK the devs haven't distributed a binary of it yet
05:06
<
clever >
thats weird, given that it now works in rasbian, lol
05:06
<
samueldr >
most likely they had help
05:09
<
clever >
samueldr: i'm having trouble finding a datasheet, which does imply an NDA was involved
05:11
<
clever >
samueldr: boom!
05:12
<
clever >
and yep, spi pins in the right corner!
05:12
<
samueldr >
almost confirms the two chips
05:13
<
samueldr >
only because we don't
*know* :)
05:17
<
samueldr >
ooh... it was linking with clang 7
05:17
<
samueldr >
tried a native build
05:17
<
samueldr >
so a big thing we'll need is a working clangStdenv for cross-compilation
05:19
<
samueldr >
fails with clang_6, too, but still, it compiled
07:19
zupo has joined #nixos-aarch64
07:20
<
samueldr >
hmmm, forced the kernel to compile with gnarly hacks
07:20
<
samueldr >
with gcc
07:21
<
samueldr >
still has the same `dangerous relocation: unsupported relocati
07:21
<
samueldr >
when linking
07:21
<
samueldr >
"dangerous relocation: unsupported relocation"*
07:21
<
samueldr >
so it's not clang specific, and I'm now wondering whether it's because it would be linking with the same linker
07:22
<
samueldr >
what I can say for sure: that qualcomm code is a big mess :/
07:22
<
samueldr >
all in the qualcomm bits
08:00
tilpner_ has joined #nixos-aarch64
08:01
tilpner has quit [Ping timeout: 252 seconds]
08:31
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
08:57
zupo has joined #nixos-aarch64
09:02
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
09:31
zupo has joined #nixos-aarch64
09:32
zupo has quit [Client Quit]
11:04
t184256 has left #nixos-aarch64 [#nixos-aarch64]
11:08
t184256 has joined #nixos-aarch64
11:21
zupo has joined #nixos-aarch64
11:29
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
11:45
zupo has joined #nixos-aarch64
13:17
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
13:23
zupo has joined #nixos-aarch64
13:44
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
14:07
Thra11 has quit [Ping timeout: 240 seconds]
14:19
Thra11 has joined #nixos-aarch64
14:19
ryantrinkle has quit [Ping timeout: 268 seconds]
14:23
zupo has joined #nixos-aarch64
14:47
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
15:12
t184256 has left #nixos-aarch64 ["Disconnected: Replaced by new connection"]
15:12
t184256 has joined #nixos-aarch64
15:33
ryantrinkle has joined #nixos-aarch64
17:26
tilpner_ is now known as tilpner
18:51
t184256 has left #nixos-aarch64 ["Disconnected: Replaced by new connection"]
18:51
t184256 has joined #nixos-aarch64
19:02
zupo has joined #nixos-aarch64
19:25
Thra11 has quit [Ping timeout: 245 seconds]
20:08
kai_w has joined #nixos-aarch64
21:38
ryantrinkle has quit [Ping timeout: 240 seconds]
21:52
kai_w has quit [Quit: Konversation terminated!]
21:52
ryantrinkle has joined #nixos-aarch64
22:30
zupo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
22:36
ryantrinkle has quit [Ping timeout: 276 seconds]
23:33
orivej has quit [Ping timeout: 265 seconds]