@promisc: Ubuntu works because it loads a fully featured driver for your graphics adapter (to run Waylaynd, or whatever else they run). wtfplay-live rides on what's has been intialised by the firmware, which has literally very basic functions only.
QUIRK_FLAG_DSD_RAW requires rebuilding the kernel, there is no way around it. But to see if it is even feasible, the first step is to see PHA's UAC descriptors:
cat /proc/asound/cardX/stream0
This should be start. X is the card number assigned for PHA. Later: lsusb -v for PHA. This could be executed on any Linux and should give some clue on what may be going on. Wireshrk USB capture under Windows is also a good idea, especially if Sony chose to use vendor command to switch the device to DSD mode.
And finally, nice remote control. I use BT to UART adapter.
QUIRK_FLAG_DSD_RAW requires rebuilding the kernel, there is no way around it. But to see if it is even feasible, the first step is to see PHA's UAC descriptors:
cat /proc/asound/cardX/stream0
This should be start. X is the card number assigned for PHA. Later: lsusb -v for PHA. This could be executed on any Linux and should give some clue on what may be going on. Wireshrk USB capture under Windows is also a good idea, especially if Sony chose to use vendor command to switch the device to DSD mode.
And finally, nice remote control. I use BT to UART adapter.
Hello, when I use wtfplay with a Pink Faun pci card it's working fine, but when I use an usb port on the same computer I get the error "failed setup pcm: -1".
Any idea what the problem is?
Any idea what the problem is?
@Henkie01: I am guessing that when you say "an USB port on the same computer" you mean the built-in USB port. Is this happening with any USB DAC (sound card) or just a specific one? What sort of computer is this? Do you know what kind of USB controller chip it has? Did you try it on different computer? From your brief description this sounds like somethign specific to your hardware.
You can try running "lspci" and this will print the identifiers of all PCI devices in your computer, including the built-in USB controllers. Also, after wtfplay prints the error, try running "dmesg" to see the kernel log. I am just curious if it prints anyting interesting there.
In the past there was a problem with PCI card USB controllers that were based on Renesas chips and certain USB/I2S interfaces, such as Amanero with an old firmware. USB driver was failing to configure Renesas controller to operate under parameters requsted by Amanero. The controller did not like one of the bus interval values. I think the firmware update made the issue dissappear completely.
You can try running "lspci" and this will print the identifiers of all PCI devices in your computer, including the built-in USB controllers. Also, after wtfplay prints the error, try running "dmesg" to see the kernel log. I am just curious if it prints anyting interesting there.
In the past there was a problem with PCI card USB controllers that were based on Renesas chips and certain USB/I2S interfaces, such as Amanero with an old firmware. USB driver was failing to configure Renesas controller to operate under parameters requsted by Amanero. The controller did not like one of the bus interval values. I think the firmware update made the issue dissappear completely.
Hi @frd__, thanks for the fast response.
I'm indeed talking about a normal built-in USB port. I tried on 2 different computers, one AMD, one Intel. Both give the same error. I only have one DAC (audial S5), so I can not test with a different one.
Regarding the linux commands you mention, i can post the outcome here if you want. Only dmesg scrolls immediatly to the end of the file so if you have a command so I can scroll through the file myself.
I'm indeed talking about a normal built-in USB port. I tried on 2 different computers, one AMD, one Intel. Both give the same error. I only have one DAC (audial S5), so I can not test with a different one.
Regarding the linux commands you mention, i can post the outcome here if you want. Only dmesg scrolls immediatly to the end of the file so if you have a command so I can scroll through the file myself.
It seems that Audial S5 uses internally XMOS to convert from USB to I2S, so I do not expect issues there. I've been running various XMOS based USB/I2S adapters/DACS and never had any issue, on any system. I take into account that Audial might have customised XMOS firmware, but let's leave that for now.
I presume that your built-in USB ports are 3.x rather than 2.0. Just for completeness, is your Pink Faun card USB3 or USB2?
Once you trigger the error with wtfplay, the kernel error message is appended at the end of 'dmesg' output. I do not need to see the whole kernel log, just the end of it. You can post it here, or better email it at contact@wtfplay-project.org and we will take it from there.
F
I presume that your built-in USB ports are 3.x rather than 2.0. Just for completeness, is your Pink Faun card USB3 or USB2?
Once you trigger the error with wtfplay, the kernel error message is appended at the end of 'dmesg' output. I do not need to see the whole kernel log, just the end of it. You can post it here, or better email it at contact@wtfplay-project.org and we will take it from there.
F
@promisc: The intention behind making all ISO images was to make possible to check if CPU specific optimisations matter or not. So anyone could try it on his own computer hardware, in his own audio system, and draw his own conclussions, according to his own sound preferences. Does AVX matter? That was the exact question I had in mind before I built the AVX ISO 🙂
OK - this is the procedure of adding a new FAT32 partition to the wtfplay-live image that was written on a memory stick. I have just tested all steps and it works as expected. I used 2GB memory stick.
What you need:
1. Linux - we will type a few commands. Any distribution should do. I used Archlinux.
2. root access - the disk modification commands must be executed with root privileges
3. wtfplay-live ISO image
4. a memory stick
My memory stick is /dev/sdb. Your may be different.
The ISO image that I use is wtfplay-live-0.7.4.3-core2.iso. Your may be different.
The commands are in bold. The code blocks show the command that I executed and what those command printed in the terminal (I removed some unrelated messages in the last step).
Step 1: Write the ISO image onto the memory stick
Step 2: Display the partition table. We want two things: the number of sectors on the memory stick (this will depend of the memory stick capacity), and the number of the first free sector. The number if the first free sector is not going to be displayed, but, instead we will see the number of last sector that is occupied. The first free one next.
Above we can see that the total number of sectors on my memory stick is 3913728 and the last occupied sector is 49151. This means that the first free sector is 49152.
Step 3: Calculate the number of free sectors on the memory stick (you can use a calculator instead 🙂 ) I am using the total number of sectors and the number of the first free sector on the disk. In the result we will get the size of the new partition that we will append.
In my case the size of the new parition will be 3864576 sectors.
Step 4: Append the partition. We are using sfdisk utility for this. We are also using it in the batch mode.
Here is what is happening above. We pass the new partition specification to sfdisk, which kindly append it (-a option) to the partition table of /dev/sdb.
The partition specification has four entries separated by space. Their meaning is as follows:
49152 is the first sector of the new partition. We found it in step 2.
3864576 is the size of the new partition. We calculated it in step 3.
0b is the partition type. 0b is for FAT32.
- (hyphen) means the field is absent. In this case this is a bootable flag (we do not want the new partition to be bootable.
Warning: This command will modify the partition table on the memory stick, so double check everything before accepting with ENTER.
Step 5: Create FAT32 filesystem on the freshly created partition. I named mine "MUSIC":
Step 6: Double-check if everything is as intended with lsblk.
And you are done!
If you mess something up you can always try again. Writing a new ISO image onto the memory stick will overwrite the broken parition table.
What you need:
1. Linux - we will type a few commands. Any distribution should do. I used Archlinux.
2. root access - the disk modification commands must be executed with root privileges
3. wtfplay-live ISO image
4. a memory stick
My memory stick is /dev/sdb. Your may be different.
The ISO image that I use is wtfplay-live-0.7.4.3-core2.iso. Your may be different.
The commands are in bold. The code blocks show the command that I executed and what those command printed in the terminal (I removed some unrelated messages in the last step).
Step 1: Write the ISO image onto the memory stick
dd if=wtfplay-live-0.7.4.3-core2.iso of=/dev/sdb bs=4M
Code:
[root@linux]# dd if=wtfplay-live-0.7.4.3-core2.iso of=/dev/sdb bs=4M
6+0 records in
6+0 records out
25165824 bytes (25 MB, 24 MiB) copied, 3.41836 s, 7.4 MB/s
Step 2: Display the partition table. We want two things: the number of sectors on the memory stick (this will depend of the memory stick capacity), and the number of the first free sector. The number if the first free sector is not going to be displayed, but, instead we will see the number of last sector that is occupied. The first free one next.
fdisk -l /dev/sdb
Code:
[root@linux]# fdisk -l /dev/sdb
Disk /dev/sdb: 1.87 GiB, 2003828736 bytes, 3913728 sectors
Disk model: USB DISK Pro
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x480618fb
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 24575 24576 12M 0 Empty
/dev/sdb2 108 2987 2880 1.4M ef EFI (FAT-12/16/32)
/dev/sdb3 24576 49151 24576 12M 83 Linux
Above we can see that the total number of sectors on my memory stick is 3913728 and the last occupied sector is 49151. This means that the first free sector is 49152.
Step 3: Calculate the number of free sectors on the memory stick (you can use a calculator instead 🙂 ) I am using the total number of sectors and the number of the first free sector on the disk. In the result we will get the size of the new partition that we will append.
expr 3913728 - 49152
Code:
[root@linux]# expr 3913728 - 49152
3864576
In my case the size of the new parition will be 3864576 sectors.
Step 4: Append the partition. We are using sfdisk utility for this. We are also using it in the batch mode.
echo "49152 3864576 0b -" | sfdisk -a /dev/sdb
Here is what is happening above. We pass the new partition specification to sfdisk, which kindly append it (-a option) to the partition table of /dev/sdb.
The partition specification has four entries separated by space. Their meaning is as follows:
49152 is the first sector of the new partition. We found it in step 2.
3864576 is the size of the new partition. We calculated it in step 3.
0b is the partition type. 0b is for FAT32.
- (hyphen) means the field is absent. In this case this is a bootable flag (we do not want the new partition to be bootable.
Warning: This command will modify the partition table on the memory stick, so double check everything before accepting with ENTER.
Code:
[root@linux]# echo "49152 3864576 0b -" | sfdisk -a /dev/sdb
Checking that no-one is using this disk right now ... OK
The device contains 'iso9660' signature and it may remain on the device. It is recommended to wipe the device with wipefs(8) or sfdisk --wipe, in order to avoid possible collisions.
Disk /dev/sdb: 1.87 GiB, 2003828736 bytes, 3913728 sectors
Disk model: USB DISK Pro
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x480618fb
Old situation:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 24575 24576 12M 0 Empty
/dev/sdb2 108 2987 2880 1.4M ef EFI (FAT-12/16/32)
/dev/sdb3 24576 49151 24576 12M 83 Linux
/dev/sdb4: Created a new partition 4 of type 'W95 FAT32' and of size 1.8 GiB.
All partitions used.
New situation:
Disklabel type: dos
Disk identifier: 0x480618fb
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 0 24575 24576 12M 0 Empty
/dev/sdb2 108 2987 2880 1.4M ef EFI (FAT-12/16/32)
/dev/sdb3 24576 49151 24576 12M 83 Linux
/dev/sdb4 49152 3913727 3864576 1.8G b W95 FAT32
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Step 5: Create FAT32 filesystem on the freshly created partition. I named mine "MUSIC":
mkfs.vfat -n MUSIC /dev/sdb4
Code:
[root@linux]# mkfs.vfat -n MUSIC /dev/sdb4
mkfs.fat 4.2 (2021-01-31)
Step 6: Double-check if everything is as intended with lsblk.
lsblk
lsblk -f
Code:
[root@linux]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sdb 8:16 1 1.9G 0 disk
├─sdb1 8:17 1 12M 0 part
├─sdb2 8:18 1 1.4M 0 part
├─sdb3 8:19 1 12M 0 part
└─sdb4 8:20 1 1.8G 0 part
[root@linux]# lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sdb iso9660 WTFPLAY-LIVE 2020-10-17-20-53-04-14
├─sdb1 iso9660 WTFPLAY-LIVE 2020-10-17-20-53-04-14
├─sdb2 vfat FAT12 WTFUEFI BA01-25E3
├─sdb3 ext2 1.0 WTFPLAY-CONF 9720277f-ac9c-4831-b73d-7c10eedc3fb4
└─sdb4 vfat FAT32 MUSIC AC44-8592
And you are done!
If you mess something up you can always try again. Writing a new ISO image onto the memory stick will overwrite the broken parition table.
Linux based playback system ?
Samsung galaxy smartphone 24 bit DAC too.
Br sure to use airplane mode during playback to prevent radio interference.
Samsung galaxy smartphone 24 bit DAC too.
Br sure to use airplane mode during playback to prevent radio interference.
Good evening everyone, this is Roberto from Rome Italy, I need help....if possible. I was running wtfplay on my late 2011 macmini (i5 processor, 12 giga ram) and eveything was fine: last week I have bought a 2018 macmini (I3 processor , 8 giga ram), but during boot, the keyboard (apple wireless keyboard) doesn't work. At the beginning the boot procedure shows some "errors", but at the end the configuration procedure ends ok, but whatever key I press, no response, so no wtfcui, no wtfsetup, ecc. Any idea what I'm doing wrong ?
Thanks in advance.
Roberto
Thanks in advance.
Roberto
Not yet, I have to find an ordinary keyboard, better with usb cable, what is strange, the same keyboard worked fine with the old (2011) macmini..
- Home
- Source & Line
- PC Based
- wtfplay project - Linux based PC playback system